Abstrakter Code als Symbol fuer eine Sicherheitsluecke

PostGREShell: PostgreSQL de 12 años Flaw convierte la cuenta de réplica en una puerta trasera

Un defecto de PostgreSQL que no se dio cuenta durante aproximadamente doce años permite a los atacantes convertir una cuenta de replicación simple en acceso completo al servidor. Descubierto por el investigador de Cyera Vladimir Tokarev y llamado «PostGREShell», CVE-2026-6471 escala el acceso de replicación de bajos privilegios a la ejecución de códigos, los derechos de superusuario permanentes y un backdoor persistente.

Un nombre de plugin no comprobado aterriza directamente en dlopen

La causa raíz se encuentra en la decodificación lógica de PostgreSQL. Cuando un cliente crea una ranura de reproducción, elige libremente el nombre del plugin de salida. Según el asesor, ese nombre se transmite a dlopen() – o a LoadLibrary() en Windows – sin ninguna validación. Utilizando las trayectorias transversales o de la UNC, un atacante puede cargar código compilado arbitrario en el proceso PostgreSQL, que luego se ejecuta con los privilegios del postgres cuenta del sistema.

El requisito: un atacante necesita una cuenta con el atributo REPLICATION, no derechos de superusuario, y el servidor debe funcionar con wal_level = logical. En Windows el ataque es completamente remoto sobre SMB, en Linux puede desencadenar a través de monturas automáticas NFS.

Superuser a través de la manipulación de catálogos y la persistencia

El código inyectado puede manipular directamente el interior pg_authid tabla para otorgarse superusuario estatus. Para la persistencia, Cyera describe la reescritura pg_hba.conf, registrarse en shared_preload_libraries y repetidamente re-aplicar privilegios. Una caza en VirusTotal ya superó 114 plugins de PostgreSQL maliciosos.

Versiones y atenuaciones afectadas

Cada liberación de 9.4 a 18 se ve afectada; el defecto, valorado CVSS 7.2, se fija en 18.6, 17.11, 16.15, 15.19 y 14.24. Los administradores deben parchear rápidamente, eliminar el atributo REPLICATION de cuentas que no lo necesitan, restringir las entradas de replicación en pg_hba.conf a direcciones conocidas, y bloquear el tráfico SMB (puerto 445) y NFS (puerto 2049) de servidores de bases de datos.

Fuentes: Cyera Research · SecurityWeek · PostgreSQL Security

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mastodon
Scroll al inicio