Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-14669 — Exploit de prueba de concepto para CVE-2026-14669, un desbordamiento de búfer en el montón de la abreviatura de zona horaria de to_char() de PostgreSQL que permite RCE mediante fuga de información y cadena ROP; incluye laboratorio Docker y PoC automatizado. | Kitploit
Herramientas/GitHubGitHub/hackspeak/cve-2026-14669
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónDesarrollo de PayloadsSeguridad de Bases de DatosExplotación de BinariosLabs y Práctica
GitHubhackspeak/cve-2026-14669

CVE-2026-14669

Exploit de prueba de concepto para CVE-2026-14669, un desbordamiento de búfer en el montón de la abreviatura de zona horaria de to_char() de PostgreSQL que permite RCE mediante fuga de información y cadena ROP; incluye laboratorio Docker y PoC automatizado.

Ver Repositorio
11hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-14669 - Desbordamiento de búfer en montón en la abreviatura de zona horaria de to_char() de PostgreSQL

La función to_char() de PostgreSQL presenta una vulnerabilidad de desbordamiento de búfer en el montón al procesar el formato de zona horaria. Un atacante puede provocar una escritura fuera de los límites en un búfer fijo de 25 bytes configurando una abreviatura de zona horaria POSIX extremadamente larga, logrando ejecución remota de código mediante fuga de información y una cadena ROP.

Información de la vulnerabilidad

  • ID de CVE: CVE-2026-14669
  • Puntuación CVSS: 8.8 (alto)
  • Tipo de vulnerabilidad: desbordamiento de búfer en montón → ejecución remota de código
  • Componente afectado: función to_char(timestamptz) de PostgreSQL
  • Equipo que lo descubrió: V12 Security

Versiones afectadas

Serie de PostgreSQLRango afectado
18.x18.0 – 18.5
17.x17.0 – 17.10
16.x16.0 – 16.14
15.x15.0 – 15.18
14.x14.0 – 14.23

Versiones corregidas

  • PostgreSQL 18.6+
  • PostgreSQL 17.11+
  • PostgreSQL 16.15+
  • PostgreSQL 15.19+
  • PostgreSQL 14.24+

Principio de la vulnerabilidad

La ruta de procesamiento DCH_TZ / DCH_tz en formatting.c utiliza un búfer de pila fijo de 25 bytes para almacenar la abreviatura de la zona horaria, pero no hay ninguna comprobación de la longitud de entrada. Cuando la abreviatura de la zona horaria supera los 24 bytes, strcpy() escribe fuera de los límites en la memoria del montón.

Ruta de activación:

root@kitploit:~
SET TIME ZONE '<超长缩写>+00';
SELECT to_char(now()::timestamptz, 'TZ');
  ↓
DCH_to_char() → DCH_from_char_action()
  ↓
strcpy(buf, tmtcTzn(...))  ← 堆溢出

Condiciones de explotación

  • Cualquier credencial de autenticación de base de datos válida (privilegio mínimo de nivel USAGE)
  • Puerto de base de datos accesible por TCP
  • Capacidad de ejecutar sentencias SQL

Cadena de explotación completa

El PoC de V12 Security consta de tres fases:

Fase 1: Fuga de información

Mediante el desbordamiento del montón se corrompen objetos de montón adyacentes, filtrando la dirección base de PIE y punteros de montón para romper ASLR.

Fase 2: Construcción de la cadena ROP

Se utiliza un objeto grande o campos bytea para colocar la cadena de gadgets ROP en el montón.

Fase 3: Secuestro del flujo de control

El segundo desbordamiento sobrescribe los punteros de función en el montón y salta a la cadena ROP para ejecutar comandos arbitrarios (con privilegios del usuario postgres).

Archivos del PoC

  • poc.py - Script de explotación completo (210 líneas, dirigido a PostgreSQL 19beta1)
  • requirements.txt - Dependencias de Python (psycopg, pwntools)
  • docker-compose.yml - Entorno de pruebas de la vulnerabilidad

Uso

1. Iniciar el entorno de pruebas

root@kitploit:~
docker-compose up -d

Espere a que el contenedor termine de iniciarse (pase la comprobación de salud):

root@kitploit:~
docker logs pg-tzlab

2. Instalar dependencias

root@kitploit:~
pip install -r requirements.txt

3. Ejecutar el PoC

root@kitploit:~
python3 poc.py

Se conecta por defecto a 127.0.0.1:55432, con usuario postgres y contraseña postgres.

Tras una explotación exitosa, se puede ver la salida de la ejecución del comando en los registros del contenedor:

root@kitploit:~
docker logs pg-tzlab | grep PWNED

4. Configuración personalizada

Edite las constantes en poc.py:

  • HOST, PORT - Dirección de destino
  • DEFAULT_COMMAND - Comando a ejecutar

⚠️ Importante: este PoC tiene codificadas las direcciones de desplazamiento de una compilación específica (imagen Docker postgres:19beta1 sha256:a6bdd01...). En otras versiones es necesario localizar los gadgets nuevamente.

Medidas de mitigación

  1. Actualice inmediatamente a las versiones corregidas (lo más eficaz)
  2. Aislamiento de red: restrinja el puerto de la base de datos solo a hosts de confianza
  3. Minimización de cuentas: elimine cuentas innecesarias y aplique contraseñas seguras
  4. Monitoreo y alertas: supervise sentencias SET TIME ZONE excesivamente largas (más de 50 caracteres)

Descargo de responsabilidad

⚠️ Este PoC es solo para investigación de seguridad, verificación de vulnerabilidades y pruebas defensivas.

  • Ejecútelo en un entorno de pruebas desechable (laboratorio Docker)
  • No lo utilice en entornos no autorizados o de producción
  • La explotación puede provocar el bloqueo del proceso del servidor objetivo o el secuestro del flujo de control

El uso de este PoC implica que acepta cumplir las leyes y regulaciones locales y los límites de autorización del sistema objetivo.

Enlaces de referencia

  • Aviso de seguridad oficial de PostgreSQL
  • Comunicado de publicación de PostgreSQL
  • Commit de corrección ascendente
  • Análisis técnico de V12 Security
  • Repositorio original del PoC

Autor original

  • PoC original: equipo de V12 Security
  • Repositorio original: https://github.com/v12-security/pocs
  • Licencia: el repositorio upstream no tiene archivo LICENSE, este repositorio usa la Licencia MIT
  • Este repositorio: versión de distribución espejo, conserva la atribución al autor original
Descargar herramienta