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
CVE-2026-14669 — Exploit de preuve de concept pour CVE-2026-14669, un débordement de tampon sur le tas dans l'abréviation de fuseau horaire de la fonction to_char() de PostgreSQL permettant une exécution de code à distance (RCE) via une fuite d'informations et une chaîne ROP ; inclut un laboratoire Docker et un PoC automatisé. | Kitploit
Outils/GitHubGitHub/hackspeak/cve-2026-14669
Analyse des VulnérabilitésExploitationTests d'IntrusionDéveloppement de Charges UtilesSécurité des Bases de DonnéesExploitation de BinairesLabs et Pratique
GitHubhackspeak/cve-2026-14669

CVE-2026-14669

Voir le dépôt
314il y a 22 joursPas 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 →

À propos

Exploit de preuve de concept pour CVE-2026-14669, un débordement de tampon sur le tas dans l'abréviation de fuseau horaire de la fonction to_char() de PostgreSQL permettant une exécution de code à distance (RCE) via une fuite d'informations et une chaîne ROP ; inclut un laboratoire Docker et un PoC automatisé.

Partager

CVE-2026-14669 - Débordement de tampon sur le tas dans l'abréviation de fuseau horaire de PostgreSQL to_char()

La fonction to_char() de PostgreSQL présente une vulnérabilité de débordement de tampon sur le tas lors du traitement du formatage des fuseaux horaires. En définissant une abréviation de fuseau horaire POSIX surdimensionnée, un attaquant peut déclencher une écriture hors limites dans un tampon fixe de 25 octets, et combiner une fuite d'informations avec une chaîne ROP pour obtenir une exécution de code à distance.

Informations sur la vulnérabilité

  • Identifiant CVE : CVE-2026-14669
  • Score CVSS : 8.8 (Critique)
  • Type de vulnérabilité : Débordement de tampon sur le tas → Exécution de code à distance
  • Composant affecté : fonction to_char(timestamptz) de PostgreSQL
  • Équipe de recherche : V12 Security

Versions concernées

Série PostgreSQLPlage concernée
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

Versions corrigées

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

Principe de la vulnérabilité

Le chemin de traitement DCH_TZ / DCH_tz dans formatting.c utilise un tampon fixe de 25 octets sur la pile pour stocker l'abréviation du fuseau horaire, sans aucune vérification de la longueur de l'entrée. Lorsque l'abréviation du fuseau horaire dépasse 24 octets, strcpy() écrit hors limites dans la mémoire du tas.

Chemin de déclenchement :

root@kitploit:~
SET TIME ZONE '<abréviation surdimensionnée>+00';
SELECT to_char(now()::timestamptz, 'TZ');
  ↓
DCH_to_char() → DCH_from_char_action()
  ↓
strcpy(buf, tmtcTzn(...))  ← Débordement du tas

Conditions d'exploitation

  • Tout identifiant d'authentification valide sur la base de données (privilège minimal de niveau USAGE)
  • Port de la base de données accessible via TCP
  • Capacité à exécuter des instructions SQL

Chaîne d'exploitation complète

Le PoC de V12 Security comprend trois phases :

Phase 1 : Fuite d'informations

Corruption des objets adjacents sur le tas via le débordement afin de divulguer l'adresse de base PIE et un pointeur de tas pour contourner l'ASLR.

Phase 2 : Construction de la chaîne ROP

Utilisation de champs de type grand objet ou bytea pour disposer une chaîne de gadgets ROP sur le tas.

Phase 3 : Détournement du flux de contrôle

Un second débordement écrase le pointeur de fonction sur le tas et redirige l'exécution vers la chaîne ROP pour exécuter des commandes arbitraires (avec les privilèges de l'utilisateur postgres).

Fichiers du PoC

  • poc.py - Script d'exploitation complet (210 lignes, ciblant PostgreSQL 19beta1)
  • requirements.txt - Dépendances Python (psycopg, pwntools)
  • docker-compose.yml - Environnement de test de la vulnérabilité

Utilisation

1. Démarrer l'environnement de test

root@kitploit:~
docker-compose up -d

Attendre que le conteneur soit complètement démarré (contrôle de santé réussi) :

root@kitploit:~
docker logs pg-tzlab

2. Installer les dépendances

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

3. Exécuter le PoC

root@kitploit:~
python3 poc.py

Connexion par défaut à 127.0.0.1:55432, utilisateur postgres, mot de passe postgres.

Après une exploitation réussie, la sortie de l'exécution de la commande est visible dans les journaux du conteneur :

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

4. Configuration personnalisée

Modifier les constantes dans poc.py :

  • HOST, PORT - Adresse cible
  • DEFAULT_COMMAND - Commande à exécuter

⚠️ Important : ce PoC contient des adresses décalées codées en dur pour une construction spécifique (image Docker postgres:19beta1 sha256:a6bdd01...). Pour d'autres versions, il est nécessaire de relocaliser les gadgets.

Mesures d'atténuation

  1. Mettre à niveau immédiatement vers une version corrigée (la plus efficace)
  2. Isolation réseau : limiter le port de la base de données aux seuls hôtes de confiance
  3. Minimisation des comptes : supprimer les comptes inutiles, imposer des mots de passe forts
  4. Surveillance et alertes : surveiller les instructions SET TIME ZONE surdimensionnées (> 50 caractères)

Avertissement de responsabilité

⚠️ Ce PoC est destiné exclusivement à la recherche en sécurité, à la validation de vulnérabilités et aux tests défensifs.

  • À exécuter uniquement dans un environnement de test jetable (laboratoire Docker)
  • Ne pas l'utiliser sur des systèmes non autorisés ou en production
  • L'exploitation provoque le crash du processus du serveur cible ou le détournement du flux de contrôle

L'utilisation de ce PoC implique votre accord pour respecter les lois et réglementations locales ainsi que les limites d'autorisation sur les systèmes cibles.

Liens de référence

  • Bulletin de sécurité officiel PostgreSQL
  • Annonce de version PostgreSQL
  • Commit de correctif en amont
  • Analyse technique de V12 Security
  • Dépôt du PoC original

Auteurs d'origine

  • PoC original : équipe V12 Security
  • Dépôt d'origine : https://github.com/v12-security/pocs
  • Licence : le dépôt en amont ne contient pas de fichier LICENSE ; ce dépôt est distribué sous licence MIT
  • Ce dépôt : version de distribution en miroir, mention de la paternité des auteurs d'origine conservée
Télécharger l’outil