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

exploitDog

github логотип

GHSA-5j3w-5pcr-f8hg

Опубликовано: 19 мая 2025
Источник: github
Github: Прошло ревью
CVSS3: 6.1

Описание

Symfony UX allows unsanitized HTML attribute injection via ComponentAttributes

Impact

Rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities.

Patches

The issue is fixed in version 2.25.1 of symfony/ux-twig-component by using Twig's EscaperRuntime to properly escape HTML attributes in ComponentAttributes. If you use symfony/ux-live-component, you must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally.

Workarounds

Until you can upgrade, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

References

GitHub repository: symfony/ux

Пакеты

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

symfony/ux-twig-component

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

< 2.25.1

2.25.1

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

symfony/ux-live-component

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

< 2.25.1

2.25.1

EPSS

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

6.1 Medium

CVSS3

Дефекты

CWE-79

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

CVSS3: 6.1
nvd
9 месяцев назад

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering `{{ attributes }}` or using any method that returns a `ComponentAttributes` instance (e.g. `only()`, `defaults()`, `without()`) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version `2.25.1` of `symfony/ux-twig-component` Those who use `symfony/ux-live-component` must also update it to `2.25.1` to benefit from the fix, as it reuses the `ComponentAttributes` class internally. As a workaround, avoid rendering `{{ attributes }}` or derived objects directly if it may contain untrusted values. Instead, use `{{ attributes.render('name') }}` for safe output of individual attributes.

EPSS

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

6.1 Medium

CVSS3

Дефекты

CWE-79