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-2005_lab — Lab de Docker autocontenido para practicar la explotación de CVE-2026-2005, un desbordamiento de búfer en el heap de la extensión pgcrypto de PostgreSQL, que permite la escalada de privilegios y la ejecución de código en el contenedor. | Kitploit
Herramientas/GitHubGitHub/stvm8/cve-2026-2005_lab
Análisis de VulnerabilidadesExplotaciónCTFAprendizaje y EducaciónSeguridad de Bases de DatosExplotación de BinariosLabs y Práctica
GitHubstvm8/cve-2026-2005_lab

CVE-2026-2005_lab

Lab de Docker autocontenido para practicar la explotación de CVE-2026-2005, un desbordamiento de búfer en el heap de la extensión pgcrypto de PostgreSQL, que permite la escalada de privilegios y la ejecución de código en el contenedor.

Ver Repositorio
hace 3 mesesAú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-2005 — Laboratorio de Desbordamiento de Montón en pgcrypto de PostgreSQL

Un laboratorio Docker autónomo para practicar la explotación de CVE-2026-2005, un desbordamiento de búfer en el montón en la extensión pgcrypto de PostgreSQL que permite la ejecución remota de código sin privilegios de superusuario.

Versiones afectadas: PostgreSQL ≤ 17.7 / 16.11 / 15.15 / 14.20 / 18.1
Corregido en: 18.2, 17.8, 16.12, 15.16, 14.21 (publicado el 2026-02-12)


Configuración

Requisitos: Docker, Docker Compose

root@kitploit:~
git clone <this-repo>
cd CVE-2026-2005
docker compose up -d

PostgreSQL estará escuchando en 127.0.0.1:5433.


Tu Punto de Partida

Has obtenido credenciales de base de datos desde un archivo de configuración de una aplicación:

ParámetroValor
Host127.0.0.1
Puerto5433
Base de datostargetdb
Usuariopentester
Contraseñapentester123

Conéctate para confirmar el acceso:

root@kitploit:~
psql -h 127.0.0.1 -p 5433 -U pentester -d targetdb

La cuenta tiene privilegio CREATE en el esquema public. No es un superusuario.


Objetivos

Captura ambas banderas para completar el laboratorio.

Banderas 1 — Escalada de privilegios en la base de datos

root@kitploit:~
SELECT * FROM flag_db;
-- Solo legible después de escalar a superusuario dentro de la sesión de la base de datos

Bandera 2 — Ejecución de código en el contenedor

root@kitploit:~
/var/lib/postgresql/flag.txt
-- Solo legible después de ejecutar comandos como el usuario del sistema operativo postgres dentro del contenedor

Nota de alcance: COPY TO PROGRAM se ejecuta dentro del contenedor Docker, no en el host. El impacto principal en el mundo real es el acceso completo de lectura a la base de datos (todas las tablas, todas las bases de datos). Alcanzar el host Docker requiere una técnica separada de escape de contenedor.


Antecedentes de la Vulnerabilidad

La falla está en pgp_parse_pubenc_sesskey() dentro de pgcrypto/pgp-pubenc.c.

Al descifrar un paquete de clave de sesión cifrado con clave pública, la función deriva la longitud de la clave de sesión como msglen - 3 de una carga útil RSA/ElGamal controlada por el atacante y la copia en un búfer fijo de 32 bytes (PGP_MAX_KEY) sin validación de límites. Un atacante puede escribir cientos de bytes más allá del límite del búfer.

La explotación procede en tres etapas:

  1. Fuga de información — el desbordamiento expone metadatos adyacentes del montón, filtrando la base de PIE y las direcciones del montón
  2. Escritura arbitraria — corrompe la estructura dst para sobrescribir CurrentUserId en .data con 10 (BOOTSTRAP_SUPERUSERID)
  3. RCE en el contenedor — con privilegios de superusuario, COPY (SELECT '') TO PROGRAM '<cmd>' ejecuta comandos del sistema operativo como el usuario postgres dentro del contenedor. En una implementación real sin Docker, esto significa acceso a nivel de sistema operativo en el host de la base de datos.

Debido a que el diseño de ASLR es idéntico en todas las conexiones al mismo proceso postmaster, las direcciones filtradas en una conexión siguen siendo válidas en la siguiente.


Referencias Útiles

  • NVD: CVE-2026-2005
  • Informe técnico: https://www.zeroday.cloud/blog/postgres-xint
  • Código fuente de pgcrypto de PostgreSQL: pgcrypto/pgp-pubenc.c
  • Resolución de símbolos: objdump -t $(which postgres) | grep CurrentUserId

Desmontaje

root@kitploit:~
docker compose down -v

Legal

Este laboratorio es solo para investigación de seguridad autorizada y fines educativos. Ejecútalo únicamente en sistemas que poseas o para los que tengas permiso explícito de prueba.

Descargar herramienta