Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
postgresql-cve-2026-14662 — Aufzeichnungen und Präsentationsmaterial zur Überprüfung der Out-of-Bounds-Schreibverwundbarkeit CVE-2026-14662 in der PostgreSQL-Volltextsuche (tsvector/tsquery), validiert durch parallelen Docker-Betrieb der Vorher-(18.4)- und Nachher-Version (18.6). | Kitploit
Tools/GitHubGitHub/kihara-1/postgresql-cve-2026-14662
SchwachstellenanalyseFuzzingPapers & ForschungLernen & BildungKuratierte RessourcenDatenbanksicherheit
GitHubkihara-1/postgresql-cve-2026-14662

postgresql-cve-2026-14662

Aufzeichnungen und Präsentationsmaterial zur Überprüfung der Out-of-Bounds-Schreibverwundbarkeit CVE-2026-14662 in der PostgreSQL-Volltextsuche (tsvector/tsquery), validiert durch parallelen Docker-Betrieb der Vorher-(18.4)- und Nachher-Version (18.6).

Repository anzeigen
vor 15h 3mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-14662 auf der Spur — Out-of-Bounds-Schreibschwachstelle in der PostgreSQL-Volltextsuche

Dies ist ein Bericht über CVE-2026-14662, die in den Volltextsuch-Datentypen (tsvector / tsquery) von PostgreSQL gefunden wurde. Dabei wurden die Version vor dem Fix (18.4) und nach dem Fix (18.6) gleichzeitig in Docker ausgeführt und die Unterschiede im Verhalten tatsächlich beobachtet.

Dies wurde für Lernzwecke im Bereich Sicherheit zusammengestellt und enthält auch Präsentationsmaterial.

Überblick über diese Schwachstelle

ElementInhalt
CVECVE-2026-14662
Zieltsvector / tsquery von PostgreSQL
TypUnzureichende Speichergröße durch Integer-Wraparound und Out-of-Bounds-Schreiben
CVSS8.8 / 10.0 (High)
Veröffentlichungsdatum2026-08-13
Behobene Versionen18.5, 17.11, 16.15, 15.19, 14.24

Die Kette der Schwachstellen sieht wie folgt aus.

root@kitploit:~
CWE-190 (Integer-Overflow) → CWE-131 (Falsche Berechnung der Puffergröße) → CWE-787 (Out-of-Bounds-Schreiben)
=Grundursache                                                        =Endgültige Auswirkung

Struktur des Repositorys

root@kitploit:~
.
├── docs/
│   └── presentation.md   Präsentationsmaterial (Erklärung der Schwachstelle + Erklärung der CWE)
└── docker/
    ├── README.md         Anleitung zur Nutzung der Reproduktionsumgebung
    ├── docker-compose.yml
    ├── init/             Gemeinsames Initialisierungs-SQL für beide Versionen
    ├── test/             PoC und Demo-SQL
    └── run.sh            Start → PoC-Ausführung → Ergebnisanzeige

So probieren Sie es aus

Wenn Docker und Docker Compose vorhanden sind, kann die Reproduktion mit Folgendem durchgeführt werden.

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

Die Container für 18.4 und 18.6 werden gestartet, das gleiche Initialisierungs-SQL wird eingespielt und anschließend wird derselbe PoC auf beide angewendet, wobei die Ergebnisse nebeneinander angezeigt werden. Details finden Sie in docker/README.md.

Beobachtungsergebnisse

TestPostgreSQL 18.4 (vor dem Fix)PostgreSQL 18.6 (nach dem Fix)
Wiederholte Selbst-OR-Verknüpfung von tsqueryBis zum 18. Mal erfolgreich ohne Fehler (endgültig 8.650.748 Bytes)Beim 17. Mal ERROR: tsquery is too large
Wort-Array mit einer Gesamtlänge von 1.200.000 BytesErfolgreichERROR: string is too long for tsvector (1200000 bytes, max 1048575 bytes)
Ein einzelnes Wort mit 3.000 BytesErfolgreichERROR: word is too long (3000 bytes, max 2046 bytes)

Vor dem Fix werden Daten, die das interne Darstellungslimit (MAXSTRPOS = 1.048.575, abgeleitet aus einem 20-Bit-Bitfeld) überschreiten, ohne einen einzigen Fehler akzeptiert.

Der Grund, warum 18.6 genau beim „17. Mal" stoppt, lässt sich rechnerisch erklären, und es wurde bestätigt, dass Theorie und Messwerte bytegenau übereinstimmen (Details im Präsentationsmaterial).

Zum Quellcode von PostgreSQL selbst

Für die Überprüfung der Unterschiede wurde ein Klon des offiziellen PostgreSQL-Repositorys verwendet, dieser ist jedoch aufgrund seiner Größe (jeweils 185 MB) nicht in diesem Repository enthalten. Falls benötigt, holen Sie ihn wie folgt.

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

Die Dateien, in denen der Fix vorgenommen wurde, sind die folgenden drei.

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

Hinweise

  • Der hier enthaltene PoC dient dazu, zu bestätigen, dass die Grenzwertprüfungen in der behobenen Version für eine bereits behobene und veröffentlichte Schwachstelle funktionieren. Er enthält keinen Exploit zur Ausführung beliebigen Codes.
  • Die Ausführung sollte in einem Wegwerf-Docker-Container erfolgen. Führen Sie ihn nicht in einer Produktionsumgebung aus.
  • Die CWE-Klassifizierung in diesem Repository ist eine Analyse des Autors auf Grundlage des Textes der offiziellen Advisory (die offizielle Advisory enthält keine expliziten CWE-Nummern).

Referenzen

  • Offizielle Advisory zu CVE-2026-14662
  • CWE-787: Out-of-bounds Write
  • CWE-190: Integer Overflow or Wraparound
  • CWE-131: Incorrect Calculation of Buffer Size
Tool herunterladen