Buffer over-read in PostgreSQL function pg_restore_attribute_stats() accepts array values of unmatched length, which causes query planning to read past end of one array. This allows a table maintainer to infer memory values past that array end. Within major version 18, minor versions before PostgreSQL 18.4 are affected. Versions before PostgreSQL 18 are unaffected.
The product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations after the targeted buffer.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Postgresql | Postgresql | 18.0 (including) | 18.4 (excluding) |
| Red Hat Hardened Images | RedHat | postgresql17-main-17.10-0.1.hum1 | * |
| Red Hat Hardened Images | RedHat | postgresql18-main-18.4-0.1.hum1 | * |
| Postgresql-10 | Ubuntu | upstream | * |
| Postgresql-12 | Ubuntu | upstream | * |
| Postgresql-14 | Ubuntu | jammy | * |
| Postgresql-16 | Ubuntu | noble | * |
| Postgresql-17 | Ubuntu | questing | * |
| Postgresql-18 | Ubuntu | devel | * |
| Postgresql-18 | Ubuntu | resolute | * |
| Postgresql-9.3 | Ubuntu | upstream | * |
| Postgresql-9.5 | Ubuntu | upstream | * |