Vulnerabilidad en PostgreSQL (CVE-2024-10976)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
14/11/2024
Última modificación:
09/05/2025
Descripción
El seguimiento incompleto en PostgreSQL de tablas con seguridad de filas permite que una consulta reutilizada vea o cambie filas diferentes a las previstas. CVE-2023-2455 y CVE-2016-2193 solucionaron la mayoría de las interacciones entre la seguridad de filas y los cambios de ID de usuario. Pasaron por alto los casos en los que una subconsulta, una consulta WITH, una vista de invocador de seguridad o una función de lenguaje SQL hace referencia a una tabla con una política de seguridad a nivel de fila. Esto tiene las mismas consecuencias que las dos CVE anteriores. Es decir, conduce a la aplicación de políticas potencialmente incorrectas en los casos en los que se utilizan políticas específicas de roles y se planifica una consulta determinada bajo un rol y luego se ejecuta bajo otros roles. Este escenario puede ocurrir bajo funciones de definidor de seguridad o cuando se planifica inicialmente un usuario y una consulta comunes y luego se reutilizan en varios SET ROLE. La aplicación de una política incorrecta puede permitir que un usuario complete lecturas y modificaciones que de otro modo estarían prohibidas. Esto afecta solo a las bases de datos que han utilizado CREATE POLICY para definir una política de seguridad de filas. Un atacante debe adaptar un ataque al patrón de reutilización de planes de consulta, cambios de ID de usuario y políticas de seguridad de filas específicas de roles de una aplicación en particular. Las versiones anteriores a PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 y 12.21 se ven afectadas.
Impacto
Puntuación base 3.x
4.20
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 12.0 (incluyendo) | 12.21 (excluyendo) |
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 13.0 (incluyendo) | 13.17 (excluyendo) |
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 14.0 (incluyendo) | 14.14 (excluyendo) |
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 15.0 (incluyendo) | 15.9 (excluyendo) |
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 16.0 (incluyendo) | 16.5 (excluyendo) |
cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* | 17.0 (incluyendo) | 17.1 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página