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
async-http-client-check — Selbstgehosteter KI-Arbeitsbereich mit Agenten, Skills und Tools (Gmail, Kalender), der vollständig mit deinen eigenen Provider-API-Schlüsseln (BYOK) läuft. Bring deine eigenen Schlüssel mit — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI. | Kitploit
Tools/GitHubGitHub/xiaoqimikko/async-http-client-check
DefensivwerkzeugeStatische AnalyseSchwachstellenscannerSchwachstellenanalyseDevSecOpsDienstprogramme & FrameworksLieferkettensicherheit
GitHubxiaoqimikko/async-http-client-check

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

async-http-client-check

Selbstgehosteter KI-Arbeitsbereich mit Agenten, Skills und Tools (Gmail, Kalender), der vollständig mit deinen eigenen Provider-API-Schlüsseln (BYOK) läuft. Bring deine eigenen Schlüssel mit — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI.

Repository anzeigen
vor 11h 11mNoch nicht geprüft
Teilen

async-http-client-check

Offline-Prüfer für die 21 repository-basierten Sicherheitshinweise von org.asynchttpclient:async-http-client (AsyncHttpClient, "AHC"). Er zeigt dir, welchen davon dein Jar tatsächlich ausgesetzt ist, markiert diejenigen, die Dependabot und OSV nicht sehen können, und liefert eine Antwort pro Zeile: 3.0.13 (3.x) / 2.16.1 (2.x).

Ein einzelnes Jar, keine Laufzeitabhängigkeiten, vollständig offline, Java 17+.


Warum es das gibt

1. Am 2026-08-09 wurden 17 Hinweise veröffentlicht — die globale Datenbank enthält 4 davon

Am 2026-08-09 veröffentlichten die AsyncHttpClient-Maintainer 17 Sicherheitshinweise im eigenen Repository des Projekts (AsyncHttpClient/async-http-client → Security → Advisories).

Dependabot und OSV lesen diese Seite nicht. Sie lesen die globale GitHub-Advisory-Datenbank. Stand 2026-09-19 enthält diese Datenbank nur 4 der 17 (CVE-2026-85716, CVE-2026-85717, CVE-2026-85720, CVE-2026-85721, alle am 2026-09-17 hinzugefügt). Die anderen 13 liefern 404 bei GET /advisories/<GHSA>; zwei dieser 13 haben sogar CVE-IDs (CVE-2026-85718, CVE-2026-85719).

Zählt man die vier älteren Hinweise dazu (CVE-2024-53990, CVE-2026-40490, CVE-2026-45300, CVE-2026-55688), listet das Repository 21; die globale Datenbank hat 8.

2. Die Version, die Dependabot dir zur Installation empfiehlt, ist selbst von 5 davon betroffen

Berechnet man „die Version, die alles bereinigt" aus der globalen Datenbank, lautet die 3.x-Antwort 3.0.12. OSV stimmt zu: POST /v1/query für 3.0.12 liefert null Schwachstellen.

Die Repository-Hinweise sagen, dass 3.0.12 noch im Bereich von fünf liegt:

HinweisSchweregradWasBenötigt
GHSA-rqf5-2wxv-rjf4highEine Digest-Challenge ohne nutzbare Nonce wird mit Authorization: Basic beantwortet, d. h. das Passwort in base64Ein Digest-Realm (Server- oder Proxy-Authentifizierung)
GHSA-jmqq-x5g9-9p2whighWenn eine Anfrage an einen anderen Host erneut gesendet wird, gehen Anfrage / Anmeldedaten des ersten Hosts an den zweiten HostReplay an einen anderen Host (ein Failover-ResponseFilter oder der IOException-Retry-Pfad) und Anmeldedaten oder ein Proxy
GHSA-vvp4-63h8-v5pmmediumNTLM-/Negotiate-Verbindungen werden über verschiedene Principals hinweg wiederverwendetNTLM oder Negotiate mit Anmeldedaten pro Anfrage
GHSA-f9m8-cv68-674wmediumCookie-Domain wird nicht gegen die Public-Suffix-Liste geprüft (Domain=co.uk)Ein gemeinsamer CookieStore über Origins hinweg
GHSA-qhv6-3pmh-95q4lowqop="auth-int" schaltet die gegenseitige Digest-Authentifizierung ab (nur 3.0.12)Digest-Authentifizierung

Sei präzise bei den beiden High-Hinweisen: Sie leaken Anmeldedaten, aber nur wenn du Anmeldedaten konfiguriert hast (ein Realm, Digest/NTLM oder einen Proxy) — und GHSA-jmqq benötigt zusätzlich ein Replay an einen anderen Host. Ein Client, der einfache unauthentifizierte GETs ausführt, ist ihnen nicht ausgesetzt. Dieses Tool weiß nicht, wie du den Client verwendest; es meldet, was der Versionsbereich sagt, und überlässt dir die Entscheidung.

Die Maintainer sagen es selbst im Text von CVE-2026-85721:

Note that 3.0.12 is itself affected by a separate issue, GHSA-rqf5-2wxv-rjf4 … Upgrade to 3.0.13 to pick up both fixes.

Also bei 3.x: Dependabot sagt 3.0.12, und nach dem Upgrade zeigt es grün an. Die echte Antwort ist 3.0.13. Bei 2.x lautet die Antwort so oder so 2.16.1 — aber 13 der dahinterstehenden Hinweise sind für deinen Scanner weiterhin unsichtbar.

3. Die Dekomprimierungsbombe benötigt keine Konfiguration

CVE-2026-85721 (high) ist derjenige, der für Standardeinstellungen gilt: Die automatische Antwort-Dekomprimierung ist standardmäßig aktiviert, und der HTTP/1.1-Pfad entpackt den Body ohne Begrenzung der Gesamtgröße. Ein bösartiger oder kompromittierter Server — oder jeder, der die Antwort unterwegs verändern kann — kann einen kleinen gzip/deflate-Body senden, der den Heap erschöpft. Betroffen: <= 3.0.11 und <= 2.16.0. Dieser ist in der globalen Datenbank, daher warnt Dependabot davor.

Grenzen sind nicht konsistent geschrieben

Die Bereiche mischen >=, <=, <, ein explizites = 3.0.12 und ein bloßes 3.0.0. Dasselbe 3.0.11 ist sicher für CVE-2026-55688 (< 3.0.11) und betroffen für GHSA-v9f2-7rw2-gr2x (<= 3.0.11). Die Regeltabelle behält jeden Operator exakt wie geschrieben bei; eine Assertion in tools/gen_rules.py und ein Unit-Test schlagen fehl, wenn die Grenze aufhört, sich so zu verhalten. Jedes Bereichs- fragment, das der Parser nicht erkennt, ist ein Fehler — niemals „nicht betroffen".

Wo das Repository und die globale Datenbank beide einen Hinweis führen, aber voneinander abweichen, nimmt die Regeltabelle die Vereinigung. Heute ist das ein Fall: CVE-2024-53990 — das Repository listet nur die 3.x- Version 3.0.0, die globale Datenbank listet zusätzlich 2.x >= 2.1.0, < 2.12.4. Nur einer Seite zu vertrauen, würde zu wenig melden.

Und es scannt pom.xml nicht — absichtlich

AHC ist normalerweise eine transitive Abhängigkeit, hereingezogen von einem SDK oder einer Client-Bibliothek. Die artifactId taucht in deiner pom.xml möglicherweise nie auf. Dieses Tool liest META-INF/maven/org.asynchttpclient/async-http-client/pom.properties in den Jars, die tatsächlich ausgeliefert werden — einschließlich Jars, die in einem Spring-Boot-Fat-Jar (BOOT-INF/lib) oder einem WAR (WEB-INF/lib) verschachtelt sind. Die Legacy-1.x-Koordinate com.ning:async-http-client hat dieselbe artifactId; sie wird aufgelistet, aber nicht bewertet.

Verwendung

root@kitploit:~
java -jar async-http-client-check.jar target/                 # scan build output
java -jar async-http-client-check.jar myapp.jar               # fat-jar / war, nested jars included
java -jar async-http-client-check.jar --version-of 3.0.12     # judge a version directly

Jeder Treffer gibt die ID (CVE, falls vorhanden, sonst GHSA), den Schweregrad, den Titel, die korrigierte Version und Dependabot/全局库:未收录 („nicht in der globalen Datenbank") aus, wo zutreffend. Die Ausgabe ist auf Chinesisch.

Exit-Codes

CodeBedeutung
0Von keinem der 21 betroffen, und jede Datei wurde tatsächlich gelesen
1Betroffen
2Konnte nicht bewertet werden — ungültige Argumente, kein AHC-Jar gefunden, nicht erkannte Version oder eine Vorabversion, die außerhalb der veröffentlichten Bereiche liegt
4Eine Datei konnte nicht gelesen werden — kein Zip, abgeschnitten oder ein I/O-Fehler

„Ich konnte es nicht lesen" und „du bist sicher" müssen zwei verschiedene Sätze sein. Ein legitimes leeres Jar (ein bloßer 22-Byte-EOCD-Datensatz) ist kein Lesefehler. Wenn eine Datei betroffen und eine andere unlesbar ist, bleibt der Exit-Code 1.

Was es dir nicht sagt

  • Nur diese 21 Hinweise, nur async-http-client. Netty-CVEs in den Netty-Jars, von denen AHC abhängt, sind nicht abgedeckt.
  • Erreichbarkeit wird nicht geprüft. Die meisten der Hinweise vom 2026-08-09 benötigen Authentifizierung, einen Proxy, WebSocket, Cookies oder fortsetzbare Downloads, um relevant zu sein. Der Schweregrad wird wie veröffentlicht ausgegeben.
  • Die Informationslücke ist vorübergehend. GitHub kann die fehlenden 13 jederzeit zur globalen Datenbank hinzufügen. tools/recheck_before_publish.py prüft, ob sie noch existiert.

Wie die Regeltabelle aufgebaut wird

src/main/java/dev/mikko/ahccheck/RuleTable.java ist generiert, niemals von Hand bearbeitet:

root@kitploit:~
python tools/gen_rules.py --dry   # run the assertions only
python tools/gen_rules.py         # regenerate the table

Sie liest die repository-basierten Hinweise (vulnerable_version_range, patched_versions), schlägt jeden in der globalen Datenbank nach und zeichnet „für Dependabot sichtbar: ja/nein" als Feld jeder Regel auf. Sieben Assertions müssen bestehen, sonst wird nichts geschrieben: die Anzahl der Hinweise und die exakte Menge der 13, die in der globalen Datenbank fehlen, stimmen noch mit der Baseline überein; die Schnittmengen sind noch 3.0.13 / 2.16.1 (und 3.0.12, wenn allein aus der globalen Datenbank berechnet); diese Versionen liefern 200 von Maven Central, während eine Sentinel-Version 404 liefert; 3.0.12 trifft noch mindestens einen High- Hinweis und keiner davon ist in der globalen Datenbank; alle Operator-Stile sind vorhanden und der Grenzfall kippt noch; und die Abweichung zwischen Repository und globaler Datenbank ist noch exakt die bekannte.

End-to-End-Prüfungen mit echten Jars liegen in tools/e2e_real_jars.py (tatsächliche Jars von Maven Central, einschließlich eines Fat-Jars und eines WAR). tools/recheck_before_publish.py verifiziert die Lücke erneut — globale Datenbank, OSV und Maven Central, jeweils mit einer Positivkontrolle und einem Sentinel — und beendet sich mit einem Nicht-Null-Code, wenn sich etwas geändert hat.

Lizenz

Apache License 2.0 — siehe LICENSE.

Tool herunterladen