Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/stvm8/cve-2026-2005_lab
Analyse des VulnérabilitésExploitationCTFApprentissage et ÉducationSécurité des Bases de DonnéesExploitation de BinairesLabs et Pratique
GitHubstvm8/cve-2026-2005_lab

CVE-2026-2005_lab

Laboratoire Docker autonome pour s'entraîner à l'exploitation de CVE-2026-2005, un débordement de tampon de tas dans l'extension pgcrypto de PostgreSQL, permettant l'élévation de privilèges et l'exécution de code dans le conteneur.

Voir le dépôt
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-2005 — Laboratoire de dépassement de tas PostgreSQL pgcrypto

Un laboratoire Docker autonome pour s'entraîner à l'exploitation de CVE-2026-2005, un dépassement de tampon de tas dans l'extension pgcrypto de PostgreSQL qui permet l'exécution de code à distance sans privilèges de superutilisateur.

Versions concernées : PostgreSQL ≤ 17.7 / 16.11 / 15.15 / 14.20 / 18.1
Corrigé dans : 18.2, 17.8, 16.12, 15.16, 14.21 (publié le 2026-02-12)


Configuration

Prérequis : Docker, Docker Compose

root@kitploit:~
git clone <ce-dépôt>
cd CVE-2026-2005
docker compose up -d

PostgreSQL écoutera sur 127.0.0.1:5433.


Votre point de départ

Vous avez obtenu des identifiants de base de données à partir d'un fichier de configuration d'application :

ParamètreValeur
Hôte127.0.0.1
Port5433
Base de donnéestargetdb
Utilisateurpentester
Mot de passepentester123

Connectez-vous pour confirmer l'accès :

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

Le compte dispose du privilège CREATE sur le schéma public. Il n'est pas un superutilisateur.


Objectifs

Capturez les deux drapeaux pour terminer le laboratoire.

Drapeau 1 — Élévation de privilèges dans la base de données

root@kitploit:~
SELECT * FROM flag_db;
-- Lisible uniquement après élévation au rang de superutilisateur dans la session de base de données

Drapeau 2 — Exécution de code dans le conteneur

root@kitploit:~
/var/lib/postgresql/flag.txt
-- Lisible uniquement après exécution de commandes en tant qu'utilisateur OS postgres dans le conteneur

Note de portée : COPY TO PROGRAM s'exécute dans le conteneur Docker, pas sur l'hôte. L'impact principal dans le monde réel est l'accès complet en lecture à la base de données (toutes les tables, toutes les bases de données). Atteindre l'hôte Docker nécessite une technique distincte d'évasion de conteneur.


Contexte de la vulnérabilité

La faille se trouve dans pgp_parse_pubenc_sesskey() dans pgcrypto/pgp-pubenc.c.

Lors du déchiffrement d'un paquet de clé de session chiffré par clé publique, la fonction dérive la longueur de la clé de session comme msglen - 3 à partir d'une charge utile RSA/ElGamal contrôlée par l'attaquant et la copie dans un tampon fixe de 32 octets (PGP_MAX_KEY) sans validation des limites. Un attaquant peut écrire des centaines d'octets au-delà de la limite du tampon.

L'exploitation se déroule en trois étapes :

  1. Fuite d'informations — le dépassement expose les métadonnées de tas adjacentes, divulguant la base PIE et les adresses du tas
  2. Écriture arbitraire — corrompt la structure dst pour écraser CurrentUserId dans .data avec 10 (BOOTSTRAP_SUPERUSERID)
  3. RCE dans le conteneur — avec les privilèges de superutilisateur, COPY (SELECT '') TO PROGRAM '<cmd>' exécute des commandes OS en tant qu'utilisateur postgres dans le conteneur. Dans un déploiement réel sans Docker, cela signifie un accès au niveau OS sur l'hôte de la base de données.

Comme la disposition ASLR est identique pour toutes les connexions au même processus postmaster, les adresses divulguées sur une connexion restent valides sur la suivante.


Références utiles

  • NVD : CVE-2026-2005
  • Analyse technique : https://www.zeroday.cloud/blog/postgres-xint
  • Source pgcrypto de PostgreSQL : pgcrypto/pgp-pubenc.c
  • Résolution de symboles : objdump -t $(which postgres) | grep CurrentUserId

Nettoyage

root@kitploit:~
docker compose down -v

Légal

Ce laboratoire est destiné uniquement à la recherche en sécurité et à l'éducation autorisées. Exécutez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.

Télécharger l’outil