Уязвимость переполнения буфера в куче в GNU Bash, вызванная обработкой широких символов через встроенную функцию "echo"
Описание
Обнаружена уязвимость переполнения буфера в куче в GNU Bash, которая возникает при выводе широких символов, не поддерживаемых текущей локалью, установленной в переменной окружения LC_CTYPE, через встроенную функцию echo. Локальный злоумышленник, который может предоставить данные для вывода через функцию echo -e, может использовать эту уязвимость для аварийного завершения работы скрипта или выполнения кода с правами процесса bash. Проблема возникает из-за некорректной обработки функцией ansicstr() (в файле lib/sh/strtrans.c) вызова u32cconv().
Заявление
Влияние оценивается как умеренное, поскольку для эксплуатации уязвимости требуется использование встроенной функции echo -e со строкой, контролируемой злоумышленником. Использование данной уязвимости позволило бы злоумышленнику, в худшем случае, выполнить код с правами процесса bash. Это могло бы быть использовано, например, для выхода из ограниченной оболочки в случае локального злоумышленника или для удалённого выполнения кода в случае bash-скрипта, принимающего недоверенные входные данные из сети. Однако мы не рекомендуем использовать bash-скрипты для обработки недоверенных данных из сети.
Затронутые версии ПО
- GNU Bash до версии 4.3
Тип уязвимости
- Переполнение буфера в куче
- Выполнение произвольного кода
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Red Hat Enterprise Linux 5 | bash | Not affected | ||
| Red Hat Enterprise Linux 6 | bash | Not affected | ||
| Red Hat Enterprise Linux 7 | bash | Will not fix | ||
| Red Hat Enterprise Linux 8 | bash | Not affected |
Показывать по
Дополнительная информация
Статус:
EPSS
7 High
CVSS3
Связанные уязвимости
A heap-based buffer overflow exists in GNU Bash before 4.3 when wide characters, not supported by the current locale set in the LC_CTYPE environment variable, are printed through the echo built-in function. A local attacker, who can provide data to print through the "echo -e" built-in function, may use this flaw to crash a script or execute code with the privileges of the bash process. This occurs because ansicstr() in lib/sh/strtrans.c mishandles u32cconv().
A heap-based buffer overflow exists in GNU Bash before 4.3 when wide characters, not supported by the current locale set in the LC_CTYPE environment variable, are printed through the echo built-in function. A local attacker, who can provide data to print through the "echo -e" built-in function, may use this flaw to crash a script or execute code with the privileges of the bash process. This occurs because ansicstr() in lib/sh/strtrans.c mishandles u32cconv().
A heap-based buffer overflow exists in GNU Bash before 4.3 when wide c ...
A heap-based buffer overflow exists in GNU Bash before 4.3 when wide characters, not supported by the current locale set in the LC_CTYPE environment variable, are printed through the echo built-in function. A local attacker, who can provide data to print through the "echo -e" built-in function, may use this flaw to crash a script or execute code with the privileges of the bash process. This occurs because ansicstr() in lib/sh/strtrans.c mishandles u32cconv().
EPSS
7 High
CVSS3