Out-of-bounds read In php8.2
Description
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.
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Package | Affected version | Patched versions |
|---|---|---|---|
debian 12 | 8.2.31-1~deb12u1 | ||
debian 11 | 7.4.33-1+deb11u11 | ||
debian 14 | 8.4.21-1 | ||
debian 13 | 8.4.21-1~deb13u1 | ||
rpm rhel10 | 0:8.3.31-1.el10_2 | ||
rpm rhel8 | 0:8.2.31-1.module+el8.10.0+24323+abc2b0db | ||
rpm rhel9 | 0:8.2.31-1.module+el9.8.0+24325+74f58d38 | ||
rpm rhel10 | 0:8.4.21-1.el10_2 |
Aliases
1. 2. 3. 4. 5.