В версиях PHP от 8.2.* до 8.2.31, 8.3.* до 8.3.31, 8.4.* до 8.4.21 и 8.5.* до 8.5.6 функция Metaphone() в ext/standard/metaphone.c использует переменную int со знаком для отслеживания текущей позиции во входной строке. Если передается строка длиной более 2 147 483 647 байт, происходит переполнение целого числа со знаком, что приводит к неопределенному поведению. Это может привести к чтению за пределами границ, что приведет к ошибке сегментации или доступу к несвязанной памяти, а также может повлиять на доступность процесса PHP.
Показать оригинальное описание (EN)
In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, and 8.5.* before 8.5.6, the metaphone() function in ext/standard/metaphone.c uses a signed int variable to track the current position within the input string. If a string longer than 2,147,483,647 bytes is passed, a signed integer overflow occurs, resulting in undefined behavior. This can lead to an out-of-bounds read, causing a segmentation fault or access to unrelated memory, and may affect the availability of the PHP process.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Php Php
cpe:2.3:a:php:php:*:*:*:*:*:*:*:*
|
8.2.0
|
8.2.31
|
|
Php Php
cpe:2.3:a:php:php:*:*:*:*:*:*:*:*
|
8.3.0
|
8.3.31
|
|
Php Php
cpe:2.3:a:php:php:*:*:*:*:*:*:*:*
|
8.4.0
|
8.4.21
|
|
Php Php
cpe:2.3:a:php:php:*:*:*:*:*:*:*:*
|
8.5.0
|
8.5.6
|