Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft certificate with CRLF in AIA OCSP URI
-
ExploitInduce LibreSSL application to validate the certificate
-
ExecutionUnvalidated path written into OCSP POST request line
-
ImpactInject HTTP headers or split request toward responder/proxy
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | The target application must use LibreSSL's libcrypto OCSP client path (OCSP_sendreq_new() / OCSP_parse_url()) and have OCSP revocation checking enabled, and the attacker must be able to present a certificate whose AIA OCSP URI they control and embed CR/LF characters into it. The AT:P metric reflects that the victim must actually initiate the OCSP request for the crafted URI before injection occurs. Limiting factors: exploitation yields only HTTP header injection / request splitting into OCSP traffic toward the responder or proxy (integrity-low, no confidentiality or availability impact), it requires OCSP checking to be active and to reach the attacker-influenced URI, and it affects only LibreSSL builds through 4.4.0 - versions incorporating commit d3f7195f, which rejects non-alphanumeric/non-punctuation and non-ASCII path characters, are not affected. |
| Impact | This is a moderate-severity integrity issue, not a high-urgency emergency. The supplied CVSS 4.0 score is 6.3 with vector AV:N/AC:L/AT:P/PR:N/UI:N and impact limited to VI:L (low integrity) while VC/VA and all subsequent-system metrics are N - meaning no confidentiality or availability impact and no cross-system scope change claimed. The AT:P (Attack Requirements: Present) metric is significant: exploitation is not fire-and-forget over the network but depends on the victim application actually performing an OCSP request against a certificate whose Authority Information Access URI the attacker controls. The decision label is 'this_month' (not act_now/emergency), which is consistent with these signals. There is no CISA KEV listing (not actively exploited) and no EPSS score is provided in the input, so probabilistic exploitation likelihood cannot be quantified here - state this gap explicitly rather than assuming low. No public exploit code or PoC reference is present among the references (they are the patch commit, source blobs, release notes and the VulnCheck advisory). Net assessment: a credible, vendor-confirmed CRLF/HTTP-request-injection flaw in a TLS library, but the real-world priority is capped by low technical impact (injection into OCSP traffic only), the AT:P precondition, and the absence of KEV/PoC - patch on the vendor's this_month cadence rather than treating it as a drop-everything issue. |
| Exploit ScenarioDerived | An attacker crafts or obtains a certificate whose Authority Information Access OCSP URI embeds carriage-return/line-feed bytes, then induces a client or server running LibreSSL (through 4.4.0) to perform OCSP revocation checking on that certificate. Because OCSP_sendreq_new()/OCSP_parse_url() write the unvalidated path straight into the OCSP POST request line, the embedded CRLF lets the attacker inject extra HTTP headers or split the request sent to the OCSP responder or an intervening proxy. No public exploit identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
LibreSSL's libcrypto OCSP client (through 4.4.0) writes an unvalidated request path into the HTTP POST request line, so carriage-return and line-feed characters embedded in a certificate's Authority Information Access OCSP URI are passed through into OCSP traffic, allowing header injection or request splitting toward a responder or proxy. Applications are exposed only if they use OCSP_sendreq_new()/OCSP_parse_url(), have OCSP revocation checking enabled, and actually query a URI taken from an attacker-supplied certificate; the resulting impact is integrity-limited with no confidentiality or availability effect. This is a moderate-severity issue rather than an emergency, no public exploit was identified at time of analysis, and the upstream commit d3f7195f rejects URI paths containing control or non-ASCII characters.
RemediationAI
Vendor patch data indicates an available fix, delivered as upstream commit d3f7195f4849d8a699cea4a3a67677f4b3dc1591 (https://github.com/openbsd/src/commit/d3f7195f4849d8a699cea4a3a67677f4b3dc1591), which adds ocsp_uri_chars_only() and rejects non-alphanumeric, non-punctuation and non-ASCII characters in both OCSP_parse_url() and OCSP_sendreq_new(); this is an upstream commit/PR fix and a released portable version carrying it was not independently confirmed, so rebuild LibreSSL (or the portable fork at https://github.com/libressl/portable) from a revision at or after that commit and verify the helper is present. Where rebuilding is not immediately possible, the exposure can be removed by disabling OCSP revocation checking in the consuming application so the crafted AIA URI is never handed to OCSP_sendreq_new() - at the cost of losing revocation status validation, which must be weighed against the integrity-only impact here. Restricting outbound OCSP traffic from clients to known responder hosts and closing direct egress to untrusted proxies limits where injected requests can land, but does not fix the underlying injection and may break revocation checking for responders outside the allowlist. Consult https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-4.4.0-relnotes.txt and the VulnCheck advisory for vendor-side detail.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-93 (CRLF injection / improper neutralization of CRLF sequences) in the libcrypto OCSP client implementation, specifically lib/libcrypto/ocsp/ocsp_ht.c and ocsp_lib.c. OCSP_parse_url() splits an OCSP responder URL - typically obtained from a certificate's Authority Information Access extension - into host, port and path components, and OCSP_sendreq_new() then formats that path directly into the HTTP request line of the POST it sends to the responder. Because the path was not restricted to a safe character set, an attacker who can supply a certificate whose AIA OCSP URI contains CR/LF bytes can terminate the request line early and append attacker-chosen headers or a second request, which is interpreted by the responder or by any intermediary proxy that forwards the OCSP traffic. The upstream fix introduces an ocsp_uri_chars_only() helper in ocsp_lib.c that rejects any byte that is not ASCII alphanumeric or punctuation, applies it both in OCSP_parse_url() (returning OCSP_R_ERROR_PARSING_URL) and in OCSP_sendreq_new() (returning NULL), and moves the NULL-path default to '/' ahead of the check. CR/LF fall under neither isalnum nor ispunct, so they are blocked; the trigger requires OCSP checking to be active and the victim to initiate the request, which is why the assessed vector carries AC:H/AT:P rather than a straightforward network condition.
Know when Libressl gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable via a crafted certificate AIA URI but exploitation depends on the victim performing OCSP validation (AC:H); no privileges (PR:N); impact is only request/header injection, so I:L with C and A none.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
LibreSSL through 4.4.0 contains a CRLF injection vulnerability in the libcrypto OCSP_sendreq_new() and OCSP_parse_url() functions, which write unvalidated request paths into the OCSP POST request line. Attackers can embed carriage return and line feed characters in a certificate's Authority Information Access OCSP URI to inject HTTP headers or split requests sent to responders and proxies.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Related Vulnerabilities in LibreSSL CRLF Injection and Transport Flaws
View all 4A double free or use after free could occur after SSL_clear in OpenBSD 7.2 before errata 026 and 7.3 before errata 004,
x509_constraints_parse_mailbox in lib/libcrypto/x509/x509_constraints.c in LibreSSL through 3.4.0 has a stack-based buff
Double free vulnerability in the ssl_parse_clienthello_use_srtp_ext function in d1_srtp.c in LibreSSL before 2.1.2 allow
The int_x509_param_set_hosts function in lib/libcrypto/x509/x509_vpm.c in LibreSSL 2.7.0 before 2.7.1 does not support a
LibreSSL 2.5.1 to 2.5.3 lacks TLS certificate verification if SSL_get_verify_result is relied upon for a later check of
LibreSSL before 2.6.5 and 2.7.x before 2.7.4 allows a memory-cache side-channel attack on DSA and ECDSA signatures, aka
EUVD-2026-111547
GHSA-p83x-c6v7-9mxw
NVD
CVE.org
EPSS
Exploit-DB