HochCVE-2026-90678

    HAProxy: Improper Handling of Length Parameter Inconsistency (CVE-2026-90678)

    Veröffentlicht Zuletzt geändert

    Was ist betroffen, was ist zu tun

    Ein Problem wurde in HAProxy-Versionen 3.3.0 bis 3.4.4 und in den Entwicklerversionen 3.5-dev1 bis 3.5-dev5 entdeckt. Ausnutzung erfordert eine HTTP/3-Frontend: HAProxy muss mit QUIC-Unterstützung gebaut und mit einem QUIC-Bindings-Listener konfiguriert sein, und der betroffene Verkehr muss über HTTP/1.1 mit chunked Transfer-Coding auf einer wiederverwendeten Verbindung zu einem Backend gelangen.

    Aktualisieren Sie HAProxy auf Version 3.5-dev6.

    Betroffen
    • HAProxy lte 3.3.0..3.3.14
    • HAProxy lte 3.4.0..3.4.4
    • HAProxy lte 3.5-dev1..3.5-dev5

    Unklar, ob und wie Sie betroffen sind? Frage zu dieser Schwachstelle stellen

    Metriken

    7,5

    Priorität

    XIEM Effective CVSS: höchste verfügbare CVSS-Bewertung aus NVD- und Herstellerangaben.

    Quelle: Hersteller (CNA), CVSS v3

    7,5

    CVSS v3

    Schweregrad Hoch auf der Skala von 0 bis 10.

    0,8 %

    EPSS-Score

    Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.

    Quelle: FIRST EPSS, Perzentil 54,8

    Alle Metriken anzeigen
    Schweregrad
    Hoch
    Priority-Score

    Der Priorisierungs-Score ist eine zusammengeführte Kennzahl, die mehrere Einzelsignale zu einer einzigen, handlungsleitenden Rangfolge verdichtet: technische Schwere (CVSS), Ausnutzungswahrscheinlichkeit (EPSS), der Status als bekannt ausgenutzt (KEV) und der Kontext des betroffenen Assets. Ziel ist die Antwort auf die einzig wirklich wichtige Frage im Schwachstellenmanagement: Was zuerst?

    Im Glossar lesen
    90.43
    Exploit-Reife

    Ein Exploit ist Code oder eine Technik, die eine konkrete Schwachstelle gezielt ausnutzt, um ein unbeabsichtigtes Verhalten zu erzwingen — etwa Code auszuführen oder Rechte auszuweiten. Er ist das Werkzeug, das aus einer theoretischen Lücke einen praktischen Angriff macht.

    Im Glossar lesen
    kein öffentlicher PoC bekannt
    XIEM Effective CVSS

    XIEM® ist das gestufte Managed-Security-Betriebsmodell von NEOSEC und eine eingetragene Marke der NEOSEC GmbH. Es erweitert klassisches SIEM — die zentrale Sammlung, Normalisierung und Korrelation sicherheitsrelevanter Ereignisse — um Endpunkt-Forensik, Netzwerk-Sichtbarkeit und Täuschungstechnik und führt diese zu drei aufeinander aufbauenden Stufen zusammen: Sentry, Orchestrate und Command.

    Im Glossar lesen
    7,5
    CVSS v3

    CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.

    Im Glossar lesen
    7,5
    EPSS-Score

    Der EPSS-Score ist der absolute Modell-Output für eine einzelne Schwachstelle: die geschätzte Wahrscheinlichkeit einer realen Ausnutzung in den nächsten 30 Tagen, ausgedrückt als Wert zwischen 0 und 1 (bzw. 0 % bis 100 %). Ein Score von 0,42 bedeutet „das Modell schätzt eine 42-prozentige Chance auf reale Ausnutzung binnen 30 Tagen“.

    Im Glossar lesen
    0,8 %
    Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
    EPSS-Perzentil

    Das EPSS-Perzentil ist die relative Einordnung einer Schwachstelle innerhalb aller EPSS-bewerteten CVEs, ausgedrückt als Wert zwischen 0 und 1. Ein Perzentil von 0,90 bedeutet „diese CVE hat einen höheren EPSS-Score als 90 % aller anderen bewerteten CVEs“. Anders als der EPSS-Score ist es keine Wahrscheinlichkeit — sondern eine Positionierung im Ranking.

    Im Glossar lesen
    54,8
    Hoch — CVE rangiert über dem Median aller heute bewerteten CVEs (Rang ≥ 36 %).
    KEV-Status

    Der KEV-Katalog ist eine von der US-Behörde CISA gepflegte Liste von Schwachstellen, für die eine aktive Ausnutzung in der Praxis nachgewiesen ist. Er beantwortet nicht die Frage „wie schwer?“, sondern „wird es bereits angegriffen?“ — und priorisiert damit das Patchen scharf.

    Im Glossar lesen
    —
    Veröffentlicht
    CWE

    CWE ist ein Katalog typischer Schwächen-Arten in Software und Hardware — etwa fehlerhafte Eingabevalidierung, unsichere Speicherbehandlung oder mangelhafte Authentisierung. Während eine CVE eine konkrete Schwachstelle in einem konkreten Produkt benennt, beschreibt eine CWE die zugrunde liegende Fehlerklasse.

    Im Glossar lesen
    CWE-130

    Einordnung nach NIS2 und CRA

    Regelbasierte Einordnung aus Ausnutzungsstatus und Schweregrad. Sie ersetzt keine Prüfung im Einzelfall.

    NIS2

    NIS2 ist die EU-Richtlinie (EU) 2022/2555 zur Erhöhung des Cybersicherheitsniveaus in der Union. Sie weitet Pflichten gegenüber der ersten NIS-Richtlinie deutlich aus: mehr Sektoren, verbindliches Risikomanagement, gestufte Meldepflichten und persönliche Verantwortung der Geschäftsleitung.

    Im Glossar lesen
    Hohe technische Schwere: Bewerten und beheben Sie die Schwachstelle im Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2 und dokumentieren Sie die Entscheidung.
    CRA

    Der CRA ist die EU-Verordnung (EU) 2024/2847 mit horizontalen Cybersicherheitsanforderungen an „Produkte mit digitalen Elementen“ — von Industriesteuerungen über Software bis zu vernetzten Verbrauchergeräten. Erstmals müssen Hersteller Sicherheit über den gesamten Produktlebenszyklus gewährleisten, Schwachstellen behandeln und Sicherheitsupdates bereitstellen.

    Im Glossar lesen
    Ab dem 11.12.2027 verpflichtet Anhang I Teil II CRA Hersteller betroffener Produkte mit digitalen Elementen, Schwachstellen unverzüglich zu behandeln und Sicherheitsupdates bereitzustellen.
    ISO/IEC 27001

    ISO/IEC 27001 ist der international führende Standard für ein Informationssicherheits-Managementsystem (ISMS). Er beschreibt einen risikobasierten, prozessorientierten Rahmen, um Informationssicherheit systematisch zu planen, umzusetzen, zu überprüfen und zu verbessern.

    Im Glossar lesen
    Maßnahme A.8.8, Management technischer Schwachstellen: Relevanz für Ihre Systeme bewerten, Behebung einplanen und nachweisen.

    Beschreibung

    Ein Problem wurde in HAProxy-Versionen 3.3.0 bis 3.4.4 und in den Entwicklerversionen 3.5-dev1 bis 3.5-dev5 entdeckt. Ausnutzung erfordert eine HTTP/3-Frontend: HAProxy muss mit QUIC-Unterstützung gebaut und mit einem QUIC-Bindings-Listener konfiguriert sein, und der betroffene Verkehr muss über HTTP/1.1 mit chunked Transfer-Coding auf einer wiederverwendeten Verbindung zu einem Backend gelangen. Unter diesen Bedingungen wird bei einem HTTP/3-Anfrage, die keinen Content-Length-Header enthält, die Länge, die in einem DATA-Frames-Header deklariert ist, dem bekannten Eingabepayload-Schätzwert des Streamendpunkts gutgeschrieben, sobald der Frames-Header dekodiert wird, bevor der Payload empfangen wurde. Diese deklarierte Länge wird wörtlich als HTTP/1.1-Chunks-Größe ausgegeben. Ein entfernter unauthentifizierter Client, der mehr Payload deklariert, als er liefert und dann den Stream beendet, veranlasst HAProxy dazu, einen größeren Chunk anzukündigen, als die Bytes, die es schreibt, und die Verbindung in einem desynchronisierten Zustand zurück zum Leerlaufpool zu geben. Das Ergebnis ist potenzielle HTTP-Anfrage-Schmuggel auf wiederverwendeten Backend-Verbindungen: ein Angreifer kann eine Anfrage hinter einer Frontend-Regel wie einer pfadbasierten http-request deny platzieren, so dass die geschmuggelte Anfrage nie von der HTTP-Analyse von HAProxy gesehen wird und dazu führen kann, dass gleichzeitige Clients' Anfragen, einschließlich ihrer Anfragezeilen und Authorization-Header, als Körper der Angreiferanfrage verbraucht und verloren gehen. Die Ausnutzung ist nicht deterministisch; sie hängt von einem Rennen mit dem Backend-Verbindungspooling ab, hat in einer Mehrheit, aber nicht allen Versuchen während des Tests Erfolg und kann frei wiederholt werden. Der Mechanismus wurde in 3.3-dev10 eingeführt; Versionen 3.2.x und früher sind davon unberührt.

    Originalquelle nur englisch verfügbar, maschinell ins Deutsche übersetzt.

    Quelle: BSI WID Portal

    Betroffene Produkte

    Betroffen sind die folgenden Versionen. Ältere Stände derselben Reihe sind ebenfalls verwundbar, sofern nicht anders angegeben.

    Betroffene Produkte
    HerstellerProduktBetroffene VersionenBehoben in
    HAProxyHAProxy
    • 3.3.0 – ≤ 3.3.14
    • 3.4.0 – ≤ 3.4.4
    • 3.5-dev1 – ≤ 3.5-dev5
    • < 3.5-dev6
    • —
    • —
    • —
    • 3.5-dev6

    Weakness-Klassen (CWE)

    • CWE-130Improper Handling of Length Parameter Inconsistency

      Base

      The product parses a formatted message or structure, but it does not handle or incorrectly handles a length field that is inconsistent with the actual length of the associated data.

      Eintrag bei MITRE CWE-130

    Quellen & Referenzen

    • github.comBUG/MAJOR: h3: reject H3 truncated framesPatch
    • git.haproxy.org?p=haproxy.git;a=commit;h=86a4ebc761a278838e8cb06f3a292282ba704…Patch
    • haproxy.orgHAProxy 3.5-dev6 ChangeLogRelease Notes

    Re-Analyse & Statuswechsel

    Chronologie der NVD-Audit-Events für diese CVE — Reanalyses, CVSS-Updates, CPE-Diffs.

    1. CVE Modified134c704f-9b21-4f2e-91b3-4a467353bcc0

      • SSVC: nachher {"id":"CVE-2026-90678","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalI…
    2. New CVE Receivedcve@mitre.org

      • Description: nachher An issue was discovered in HAProxy 3.3.0 through 3.4.4 and in 3.5-dev1 through 3.5-dev5. Exploitation requires an HTTP/3 frontend: HAProxy must be built with QUIC support and configured with a QUIC bind listener, and the affected traffic must reach a backend over HTTP/1.1 using chunked transfer coding on a reused connection. Under those conditions, when an HTTP/3 request carries no Content-Length header, the HTTP/3 multiplexer credits the length declared in a DATA frame header to the stream endpoint's known-input-payload estimate at the moment the frame header is decoded, before the payload has been received, and that declared length is emitted verbatim as the HTTP/1.1 chunk size. A remote unauthenticated client that declares more payload than it delivers and then ends the stream causes HAProxy to announce a chunk larger than the bytes it writes and to return the connection to the idle pool in a desynchronized state. The result is potential HTTP request smuggling on reused backend connections: an attacker can place a request past a frontend rule such as a path-based http-request deny, so that the smuggled request is never seen by HAProxy's HTTP analysis, and can cause concurrent clients' requests, including their request lines and Authorization headers, to be consumed as the attacker's request body and lost. Exploitation is not deterministic; it depends on a race with backend connection pooling, succeeding in a majority of but not all trials during testing, and can be retried freely. The mechanism was introduced in 3.3-dev10; releases 3.2.x and earlier are unaffected.
      • CVSS V3.1: nachher AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:L
      • CWE: nachher CWE-130
      • Affected: nachher New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/90xxx/CVE-2026-90678.json">CVE-2026-90678</a>

    Verknüpfte CVEs

    Verknüpfte CVEs
    SchwereCVETitelCVSSAusnutzung
    HochCVE-2026-90678HAProxy: fehlerhafte Behandlung inkonsistenter Längenangaben7,5—