CVE-2025-5991: Use after free in QHttp2ProtocolHandler
There is a "Use After Free" vulnerability in Qt's QHttp2ProtocolHandler in the QtNetwork module. This only affects HTTP/2 handling, HTTP handling is not affected by this at all. This happens due to a race condition between how QHttp2Stream uploads the body of a
POST request and the simultaneous handling of HTTP error responses.
This issue only affects Qt 6.9.0 and has been fixed for Qt 6.9.1.
Security readout for executives and security teams
Plain-English summary
Qt 6.9.0 contains a low-severity memory-safety flaw in HTTP/2 POST processing. A timing race between uploading a request body and receiving an HTTP error can access freed memory. Ordinary HTTP is unaffected. Qt reports the issue fixed in 6.9.1.
Executive priority
Treat this as a routine, targeted update rather than an emergency. Confirm whether Qt 6.9.0 is deployed, then upgrade exposed applications through normal patch management. Escalate priority if the affected HTTP/2 POST path is business-critical or processes untrusted interactions.
Technical view
CVE-2025-5991 is a CWE-416 use-after-free in QtNetwork's QHttp2ProtocolHandler. It arises from a race involving QHttp2Stream body uploads for HTTP/2 POST requests and simultaneous HTTP error-response handling. The supplied CVSS 4.0 score is 2.1, with local attack vector and high attack complexity.
Likely exposure
Exposure is limited to applications using Qt 6.9.0 and QtNetwork HTTP/2 POST handling. Applications using other Qt versions, or only ordinary HTTP handling, are described as unaffected. The bundle does not identify specific downstream applications or deployment patterns.
Exploitation context
The source bundle provides no evidence of active exploitation, and the CVE is not listed as KEV. The race condition and high-complexity CVSS assessment suggest exploitation depends on specific timing and request-processing conditions. No public exploit capability is established by the supplied evidence.
Researcher notes
The core issue is object-lifetime handling during concurrent stream upload and error processing. The supplied material does not establish reliable triggering, concrete crash behavior, exploitability beyond the CVSS assessment, or affected downstream products. Analysis should therefore remain scoped to Qt 6.9.0 and the documented HTTP/2 path.
Mitigation direction
Upgrade affected Qt 6.9.0 deployments to Qt 6.9.1 or a later vendor-supported release.
Prioritize applications that send HTTP/2 POST requests with uploaded request bodies.
If immediate upgrading is impossible, consult Qt guidance before considering temporary HTTP/2 restrictions.
Validation and detection
Inventory applications and dependencies for Qt 6.9.0, including bundled or statically linked copies.
Confirm whether each affected application uses QtNetwork for HTTP/2 POST body uploads.
Verify rebuilt or updated applications resolve Qt to version 6.9.1 or later.
Run regression tests covering HTTP/2 POST uploads and concurrent HTTP error responses.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.