CVE-2021-22926: libcurl-using applications can ask for a specific client certificate to be used in a transfer.
libcurl-using applications can ask for a specific client certificate to be used in a transfer. This is done with the `CURLOPT_SSLCERT` option (`--cert` with the command line tool).When libcurl is built to use the macOS native TLS library Secure Transport, an application can ask for the client certificate by name or with a file name - using the same option. If the name exists as a file, it will be used instead of by name.If the appliction runs with a current working directory that is writable by other users (like `/tmp`), a malicious user can create a file name with the same name as the app wants to use by name, and thereby trick the application to use the file based cert instead of the one referred to by name making libcurl send the wrong client certificate in the TLS connection handshake.
Security readout for executives and security teams
Plain-English summary
This affects libcurl applications on macOS when libcurl uses Secure Transport and selects a client certificate by name. If the application runs from a directory other users can write to, another local user can influence which certificate is sent. This can break trust assumptions for certificate-based authentication.
Executive priority
Prioritize remediation where certificate-based authentication protects sensitive systems. The issue is not broadly internet-exploitable from the supplied evidence, but affected enterprise products and client-certificate workflows can create meaningful trust and availability risk.
Technical view
In curl/libcurl 7.33.0 through 7.77.0, CURLOPT_SSLCERT can resolve a requested certificate name as a local filename first under Secure Transport. In a writable current working directory, a matching file can cause libcurl to use a file-based certificate instead of the intended named certificate.
Likely exposure
Exposure is narrow but important: macOS-hosted applications or bundled products using affected libcurl, Secure Transport, client certificate authentication, and a current working directory writable by other users.
Exploitation context
The CVE source describes a local file-placement condition, not remote unauthenticated exploitation. KEV is false, and the provided sources do not show active exploitation in the wild.
Researcher notes
Focus on the exact preconditions: libcurl 7.33.0-7.77.0, macOS Secure Transport, certificate selection by name, and writable current working directory. Do not generalize this to all curl deployments or all TLS backends without vendor evidence.
Mitigation direction
Upgrade curl/libcurl outside the affected 7.33.0 through 7.77.0 range where vendor guidance supports it.
Check OS, appliance, and application vendor advisories for packaged libcurl fixes.
Do not run affected libcurl clients from directories writable by untrusted users.
Review uses of CURLOPT_SSLCERT or curl --cert on macOS Secure Transport builds.
Validation and detection
Inventory curl/libcurl versions embedded in macOS applications and third-party products.
Confirm whether libcurl is built with Secure Transport rather than another TLS backend.
Identify workflows using client certificate names with CURLOPT_SSLCERT or curl --cert.
Check service working directories for world-writable or shared-write permissions.
Review vendor advisories for Oracle, NetApp, Siemens, Gentoo, and affected application stacks.
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-840: 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-840 · source CWE mapping
Business Logic Errors
Business Logic Errors represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.