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
postgresql-cve-2026-14662 — Vulnérabilité d'écriture hors limites découverte dans la recherche plein texte de PostgreSQL (tsvector/tsquery), CVE-2026-14662, vérifiée en exécutant côte à côte dans Docker les versions non corrigée (18.4) et corrigée (18.6) : enregistrement des résultats et supports de présentation. | Kitploit
Outils/GitHubGitHub/kihara-1/postgresql-cve-2026-14662
Analyse des VulnérabilitésFuzzingArticles et RechercheApprentissage et ÉducationRessources OrganiséesSécurité des Bases de Données
GitHubkihara-1/postgresql-cve-2026-14662

postgresql-cve-2026-14662

Voir le dépôt
1il y a 1 jourPas 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

Vulnérabilité d'écriture hors limites découverte dans la recherche plein texte de PostgreSQL (tsvector/tsquery), CVE-2026-14662, vérifiée en exécutant côte à côte dans Docker les versions non corrigée (18.4) et corrigée (18.6) : enregistrement des résultats et supports de présentation.

Partager

À la poursuite de CVE-2026-14662 — Vulnérabilité d'écriture hors limites dans la recherche plein texte de PostgreSQL

Voici un compte rendu de l'observation réelle des différences de comportement entre la version non corrigée (18.4) et la version corrigée (18.6) de PostgreSQL, exécutées simultanément dans Docker, concernant la CVE-2026-14662 découverte dans les types de données de recherche plein texte (tsvector / tsquery).

Ce document a été préparé à des fins d'apprentissage en cybersécurité et inclut également les supports de présentation.

Aperçu de cette vulnérabilité

ÉlémentContenu
CVECVE-2026-14662
Cibletsvector / tsquery de PostgreSQL
TypeTaille d'allocation insuffisante due à un dépassement d'entier et écriture hors limites
CVSS8.8 / 10.0 (High)
Date de publication2026-08-13
Versions corrigées18.5, 17.11, 16.15, 15.19, 14.24

La chaîne de faiblesses se présente comme suit.

root@kitploit:~
CWE-190 (dépassement d'entier) → CWE-131 (calcul incorrect de la taille du tampon) → CWE-787 (écriture hors limites)
=cause racine                                                        =impact final

Structure du dépôt

root@kitploit:~
.
├── docs/
│   └── presentation.md   Supports de présentation (explication de la vulnérabilité + explication des CWE)
└── docker/
    ├── README.md         Mode d'emploi de l'environnement de reproduction
    ├── docker-compose.yml
    ├── init/             SQL d'initialisation commun exécuté sur les deux versions
    ├── test/             PoC et SQL de démonstration
    └── run.sh            Démarrage → exécution du PoC → affichage des résultats

Comment tester

Si Docker et Docker Compose sont disponibles, il suffit de procéder comme suit pour reproduire.

root@kitploit:~
cd docker
./run.sh

Les conteneurs 18.4 et 18.6 démarrent, le même SQL d'initialisation est injecté, puis le même PoC est exécuté sur les deux et les résultats sont affichés côte à côte. Veuillez consulter docker/README.md pour plus de détails.

Résultats observés

TestPostgreSQL 18.4 (non corrigé)PostgreSQL 18.6 (corrigé)
Répétition de l'auto-jointure OR de tsqueryRéussite sans erreur jusqu'à 18 fois (8 650 748 octets au final)ERROR: tsquery is too large à la 17e fois
Tableau de mots d'une longueur totale de 1 200 000 octetsRéussitERROR: string is too long for tsvector (1200000 bytes, max 1048575 bytes)
Un seul mot de 3 000 octetsRéussitERROR: word is too long (3000 bytes, max 2046 bytes)

Avant la correction, les données dépassant la limite de la représentation interne (MAXSTRPOS = 1 048 575, issu d'un champ de bits de 20 bits) étaient acceptées sans la moindre erreur.

À noter que la raison pour laquelle 18.6 s'arrête « exactement à la 17e fois » peut être expliquée par le calcul, et nous avons confirmé que la valeur théorique et la valeur mesurée correspondent octet pour octet (voir les supports de présentation pour plus de détails).

À propos du code source de PostgreSQL lui-même

Pour vérifier les différences, nous avons utilisé un clone du dépôt officiel de PostgreSQL, mais comme il est volumineux (185 Mo chacun), il n'est pas inclus dans ce dépôt. Si nécessaire, récupérez-le comme suit.

root@kitploit:~
git clone --branch REL_18_4 --depth 1 https://github.com/postgres/postgres.git postgres-18.4
git clone --branch REL_18_6 --depth 1 https://github.com/postgres/postgres.git postgres-18.6

Les trois fichiers modifiés sont les suivants.

  • src/backend/utils/adt/tsquery_util.c
  • src/backend/utils/adt/tsvector.c
  • src/backend/utils/adt/tsvector_op.c

Avertissements

  • Les PoC inclus ici servent à vérifier que les contrôles de limites fonctionnent dans la version corrigée, pour une vulnérabilité déjà corrigée et publiée. Ils ne contiennent aucun exploit permettant l'exécution de code arbitraire.
  • Exécutez-les dans des conteneurs Docker jetables. Ne les exécutez pas dans un environnement de production.
  • La classification CWE de ce dépôt est une analyse de l'auteur basée sur le texte de l'avis officiel (l'avis officiel ne mentionne pas explicitement les numéros CWE).

Références

  • Avis officiel CVE-2026-14662
  • CWE-787: Out-of-bounds Write
  • CWE-190: Integer Overflow or Wraparound
  • CWE-131: Incorrect Calculation of Buffer Size
Télécharger l’outil