Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-3crj-w4f5-gwh4

Опубликовано: 29 янв. 2021
Источник: github
Github: Прошло ревью
CVSS3: 6.3

Описание

Processing untrusted theming resources might execute arbitrary code (ACE)

Impact

When processing theming resources (i.e. *.less files) with less-openui5 that originate from an untrusted source, those resources might contain JavaScript code which will be executed in the context of the build process.

While this is a feature of the Less.js library, it is an unexpected behavior in the context of OpenUI5 and SAPUI5 development.

Especially in the context of UI5 Tooling, which relies on less-openui5, this poses a security threat:

An attacker might create a library or theme-library containing a custom control or theme, hiding malicious JavaScript code in one of the .less files.

This is an example of inline JavaScript in a Less file:

.rule { @var: `(function(){console.log('Hello from JavaScript'); process.exit(1);})()`; color: @var; }

Starting with Less.js version 3.0.0, the Inline JavaScript feature is disabled by default. less-openui5 however currently uses a fork of Less.js v1.6.3.

Note that disabling the Inline JavaScript feature in Less.js versions 1.x, still evaluates code has additional double codes around it:

.rule { @var: "`(function(){console.log('Hello from JavaScript'); process.exit(1);})()`"; color: @var; }

Patches

We decided to remove the inline JavaScript evaluation feature completely from the code of our Less.js fork.

This fix is available in less-openui5 version v0.10.0

Workarounds

Only process trusted theming resources.

For more information

If you have any questions or comments about this advisory:

Пакеты

Наименование

less-openui5

npm
Затронутые версииВерсия исправления

< 0.10.0

0.10.0

EPSS

Процентиль: 53%
0.00301
Низкий

6.3 Medium

CVSS3

Дефекты

CWE-74

Связанные уязвимости

CVSS3: 6.3
nvd
почти 5 лет назад

less-openui5 is an npm package which enables building OpenUI5 themes with Less.js. In less-openui5 before version 0.10., when processing theming resources (i.e. `*.less` files) with less-openui5 that originate from an untrusted source, those resources might contain JavaScript code which will be executed in the context of the build process. While this is a feature of the Less.js library it is an unexpected behavior in the context of OpenUI5 and SAPUI5 development. Especially in the context of UI5 Tooling which relies on less-openui5. An attacker might create a library or theme-library containing a custom control or theme, hiding malicious JavaScript code in one of the .less files. Refer to the referenced GHSA-3crj-w4f5-gwh4 for examples. Starting with Less.js version 3.0.0, the Inline JavaScript feature is disabled by default. less-openui5 however currently uses a fork of Less.js v1.6.3. Note that disabling the Inline JavaScript feature in Less.js versions 1.x, still evaluates code has

EPSS

Процентиль: 53%
0.00301
Низкий

6.3 Medium

CVSS3

Дефекты

CWE-74