☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 🐛 CWE-488
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-80231

CVE-2026-80231 Vulnerability in Haxx
📅 PUBLISHED: 2026-09-06 00:00 UTC 🔄 UPDATED: 2026-10-02 19:31 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: CONFIRMED — 3+ independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.90%
👁️
0.90% probability
22.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Affected: Curl — upgrade to patched release
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: H Availability High
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

CVE-2026-80231 — libcurl Native CA Store Connection Reuse Flaw

Executive Summary

CVE-2026-80231 is a connection-handling flaw in libcurl that causes the library to incorrectly reuse an existing HTTPS connection created under one Native CA Store setting (CURLSSLOPT_NATIVE_CA) even when a subsequent request specifies a different CA store configuration for the same hostname. Because the TLS trust context of the reused connection does not match the caller's intended configuration, applications relying on per-request CA store differentiation may be exposed to trust-boundary violations through the target hostname. Carrying a CVSS base score of 7.5 (High) with the vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, the primary rated impact is availability loss, though the underlying class (CWE-488 — Exposure of Data Element to Wrong Session) implies potential confidentiality and integrity consequences at the application layer.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

libcurl maintains a connection pool keyed on connection-reuse characteristics such as hostname, port, and TLS parameters. The CURLSSLOPT_NATIVE_CA option instructs libcurl to use the operating system's native CA certificate store rather than a bundled or explicitly supplied CA bundle. When an application uses the same curl handle (or shares a connection cache) across requests that differ only in their CURLSSLOPT_NATIVE_CA setting, the library is reported to incorrectly treat the two requests as reuse-compatible for the same hostname. As a result, the second request can be dispatched over a TLS session whose certificate validation was performed against the first request's CA store.

This is a classic instance of CWE-488 (Exposure of Data Element to Wrong Session): two logically distinct trust contexts are conflated into a single reusable session. The security consequence depends on how the embedding application uses distinct CA stores — for example, a process that trusts a restrictive CA set for one code path and the broader OS-native store for another could inadvertently route the restrictive request through a connection authenticated under the looser store, or vice versa. The NVD entry does not identify specific function names, handle-cache keys, or API parameters beyond CURLSSLOPT_NATIVE_CA, so no further implementation-specific claims are made here.

The attack surface is network-reachable (AV:N), requires low complexity (AC:L), no privileges (PR:N), and no user interaction (UI:N). The default scope is unchanged (S:U). Confidentiality and integrity are rated None in the base vector, while availability is High (A:H) — the highest-weighted single-metric contributor to the 7.5 score. This reflects the most concrete demonstrable outcome: a failed or broken TLS setup, connection teardown, or application-level failure when the mismatched CA context is enforced.

Because the flaw concerns connection reuse decisions rather than server-side parsing or injection, it is not itself a remote code execution vector. Its risk profile is elevated in multi-tenant, proxy, SDK, and middleware deployments where a single process or shared connection cache services requests carrying heterogeneous TLS trust requirements.


Exploitation Scenarios

No public exploit code or Nuclei template was supplied; the attack chain below is inferred from the vulnerability class (CWE-488) and the NVD description. No specific function names, URL paths, or parameters are asserted beyond CURLSSLOPT_NATIVE_CA.

1) Reconnaissance / target identification. An adversary identifies a target application or service that uses libcurl with connection reuse enabled and that conditionally toggles the CURLSSLOPT_NATIVE_CA option across requests to the same hostname — for example, a gateway or SDK that selects a native CA store for some tenants and a pinned/custom bundle for others. Fingerprinting is passive: the attacker needs only to know that the victim performs outbound HTTPS via libcurl to an attacker-influenced or attacker-controlled hostname.

2) Triggering the flaw class. The attacker arranges for the victim application to make two requests to the same hostname with different CURLSSLOPT_NATIVE_CA settings within the connection-cache lifetime. The first request establishes and caches the HTTPS connection under configuration A. The second request — intended to be validated under configuration B — is wrongly served over the reused connection established under A. Because trust evaluation is effectively inherited from the first connection rather than the second request's intent, the security assumptions of the second request are violated.

3) Execution method (vulnerability-class level). The attacker does not need a payload in the traditional sense; the "payload" is the sequence of requests that induces a trust-context mismatch. If the attacker controls or influences the TLS endpoint (e.g., through DNS, a compromised peer, or an authorized-but-untrusted host), the mismatch can cause the victim to accept a TLS session it should have rejected — or, in the availability-focused reading, to tear down or fail a legitimate session, denying service. The NVD description does not specify which of these outcomes is reachable in a given configuration, so both must be considered.

4) Post-exploitation impact. On the confidentiality/integrity side, a mis-trusted session could expose data to an unintended peer or allow responses from an unintended certificate chain to be consumed. On the availability side — the rated primary impact — the mismatched context can cause connections to fail, hang, or be forcibly re-established, degrading or denying the service that depends on the affected libcurl calls. Persistence is not inherent to the flaw; the impact is bounded by the lifetime and scope of the affected process and its connection cache.


Impact Assessment

The CVSS base vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H places this at 7.5 High, driven entirely by High availability impact. Confidentiality and integrity are not credited in the base vector, but the underlying CWE-488 class means defenders should treat potential leakage or trust bypass as a secondary, configuration-dependent risk that may not be captured by the generic score.

Blast radius is proportional to how many independent trust domains are served by a single libcurl process or shared connection cache. High-exposure environments include:

  • API gateways, reverse proxies, and egress brokers that route to multiple upstreams.
  • Multi-tenant SaaS components that isolate tenants via distinct CA trust sets.
  • SDKs and CLI tooling that toggle CURLSSLOPT_NATIVE_CA between operations.
  • Containerized workloads using OS-native CA stores that may differ from the host.

Because the flaw is in a widely embedded library, a single vulnerable libcurl build can propagate risk across many downstream applications. EPSS is 0.00635 (48.5th percentile) and there is no CISA KEV listing, indicating that observed exploitation in the wild is currently low — but the presence of a Public PoC/exploit status and the library's ubiquity justify proactive patching.


Detection Guidance

Because the flaw operates inside the library's connection-reuse logic, network-only detection is difficult; detections should combine process/telemetry correlation with TLS-anomaly monitoring. The rules below are illustrative and must be tuned to your environment.

Sigma Rule

title: Potential libcurl CURLSSLOPT_NATIVE_CA Connection Reuse Abuse (CVE-2026-80231)
id: 8f3c1a2e-6b4d-4e9a-9c21-2d7f5a0b1c33
status: experimental
description: Detects processes invoking curl/libcurl with CURLSSLOPT_NATIVE_CA-related configuration indicating possible trust-context manipulation.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-80231
author: valtersit.com
date: 2026/01/01
logsource:
  category: process_creation
  product: linux
detection:
  selection_proc:
    Image|endswith:
      - '/curl'
    CommandLine|contains:
      - 'CURLSSLOPT_NATIVE_CA'
      - '--ca-native'
  selection_env:
    CommandLine|contains: 'native-ca'
  condition: selection_proc or selection_env
falsepositives:
  - Legitimate administrative use of native CA store option
level: medium
tags:
  - attack.t1190
  - cve.2026.80231

YARA Rule

rule CVE_2026_80231_libcurl_native_ca_reuse
{
    meta:
        description = "Detects libcurl binaries referencing CURLSSLOPT_NATIVE_CA option handling"
        author = "valtersit.com"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-80231"
        date = "2026-01-01"
    strings:
        $opt = "CURLSSLOPT_NATIVE_CA" ascii wide
        $lib = "libcurl" ascii wide nocase
  condition:
        $lib and $opt
}

Suricata IDS Rule

alert tls any any -> any any (msg:"CVE-2026-80231 Potential libcurl Native CA Connection Reuse Anomaly"; flow:established,to_server; tls.store; threshold:type both, track by_src, count 1, seconds 60; classtype:protocol-command-decode; reference:cve,2026-80231; sid:202680231; rev:1;)

Elastic Detection

process where event.type == "start" and
  process.name in ("curl", "libcurl") and
  process.command_line : "*NATIVE_CA*" or process.command_line : "*--ca-native*"

Splunk SPL Query

index=* (sourcetype=linux_audit OR sourcetype=sysmon OR sourcetype=edr)
| search (process_name=curl OR process_name=libcurl OR Image="*curl*")
| search CommandLine="*NATIVE_CA*" OR CommandLine="*native-ca*" OR CommandLine="*CURLSSLOPT*"
| stats count min(_time) as first_seen max(_time) as last_seen by host, user, process_name, CommandLine
| where count > 0

Wazuh OSSEC Rule

<group name="cve-2026-80231,curl,">
  <rule id="100231" level="7">
    <decoded_as>json</decoded_as>
    <field name="command">curl|libcurl</field>
    <match>CURLSSLOPT_NATIVE_CA|--ca-native|native-ca</match>
    <description>CVE-2026-80231: Possible libcurl Native CA store misuse / connection reuse abuse</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>cve_2026_80231,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 3/4 (LIKELY — 2 independent sources confirm fix).

1) Immediate mitigations

  • Disable or avoid mixing CURLSSLOPT_NATIVE_CA settings across requests that share a libcurl connection cache. Isolate processes, handles, or caches so that a single cache serves only one trust configuration.
  • Where feasible, force connection re-establishment (CURLOPT_FRESH_CONNECT-style behavior) between requests that change CA store configuration, so that a cached session from a prior configuration cannot be reused.
  • Audit applications and middleware that embed libcurl and conditionally toggle native CA usage; document their trust-domain boundaries.

2) Patch / upgrade steps

  • Apply the libcurl fix confirmed by NVD and Debian. Track the Debian security tracker entry and the upstream curl project advisory for the specific patched version and distro backport.
  • Rebuild statically linked consumers of libcurl (SDKs, bundled binaries, container images) against the patched library; dynamic links are covered by updating the shared object.
  • After upgrading, verify that connection-reuse behavior no longer conflates distinct CURLSSLOPT_NATIVE_CA contexts in your test matrix.

3) Long-term hardening

  • Standardize on a single explicit CA trust strategy per service boundary to eliminate configuration drift.
  • Instrument outbound TLS egress with certificate-transparency and TLS-fingerprint monitoring to detect trust-context anomalies.
  • Track curl/libcurl security advisories in your SBOM/vulnerability-management pipeline, given the library's ubiquity and its history of connection-reuse and TLS-handling issues.

References

Threat actor attribution: No CISA KEV listing and no named campaign in the provided data. Exploit status is Public, but Exploit Code: NO and Nuclei Template: NO — treat as a researched vulnerability with a public PoC description rather than a weaponized, actively exploited one. No exploit-in-the-wild evidence is available in the supplied intelligence.


Report generated for valtersit.com. All technical claims are limited to the provided CVE data; implementation-specific details not present in the source description have been intentionally omitted.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-80231/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.