The upstream advisory describes this issue as follows:
By connecting to a fake MySQL server or tampering with network packets and initiating a SQL Query, it is possible to abuse the function static enum_func_status php_mysqlnd_rset_field_read when parsing MySQL fields packets in order to include the rest of the heap content starting from the address of the cursor of the currently read buffer.
Using PHP-FPM which stays alive between request, and between two different SQL query requests, as the previous buffer used to store received data from MySQL is not emptied and malloc allocates a memory region which is very near the previous one, one is able to extract the response content of the previous MySQL request from the PHP-FPM worker.
Platform | Package | Release Date | Advisory |
---|---|---|---|
Amazon Linux 2 - Php8.1 Extra | php | 2025-02-12 23:07 | ALAS2PHP8.1-2025-006 |
Amazon Linux 2 - Php8.2 Extra | php | 2025-02-12 23:07 | ALAS2PHP8.2-2025-006 |
Amazon Linux 2023 | php8.1 | 2025-02-12 22:57 | ALAS2023-2025-845 |
Amazon Linux 2023 | php8.2 | 2025-02-26 23:14 | ALAS2023-2025-872 |
Amazon Linux 2023 | php8.3 | 2025-02-26 23:14 | ALAS2023-2025-873 |
Score Type | Score | Vector | |
---|---|---|---|
Amazon Linux | CVSSv3 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
NVD | CVSSv3 | 5.8 | CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N |