CVE-2024-10976

Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
Configurations

No configuration.

History

15 Nov 2024, 13:58

Type Values Removed Values Added
Summary
  • (es) 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.

14 Nov 2024, 13:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-11-14 13:15

Updated : 2024-11-15 13:58


NVD link : CVE-2024-10976

Mitre link : CVE-2024-10976

CVE.ORG link : CVE-2024-10976


JSON object : View

Products Affected

No product.

CWE
CWE-1250

Improper Preservation of Consistency Between Independent Representations of Shared State