OESA-2021-1321 (CVE-2021-22925)
Vulnerability from osv_openeuler – Published: 2021-08-20 11:04 – Updated: 2026-08-06 11:04 – Source websitecURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various protocols.
Security Fix(es):
curl supports the -t command line option, known as CURLOPT_TELNETOPTIONSin libcurl. This rarely used option is used to send variable=content pairs toTELNET servers.Due to flaw in the option parser for sending NEW_ENV variables, libcurlcould be made to pass on uninitialized data from a stack based buffer to theserver. Therefore potentially revealing sensitive internal information to theserver using a clear-text network protocol.This could happen because curl did not call and use sscanf() correctly whenparsing the string provided by the application.(CVE-2021-22925)
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.(CVE-2021-22926)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"curl-debuginfo-7.71.1-10.oe1.aarch64.rpm",
"libcurl-7.71.1-10.oe1.aarch64.rpm",
"curl-7.71.1-10.oe1.aarch64.rpm",
"curl-debugsource-7.71.1-10.oe1.aarch64.rpm",
"libcurl-devel-7.71.1-10.oe1.aarch64.rpm"
],
"noarch": [
"curl-help-7.71.1-10.oe1.noarch.rpm"
],
"src": [
"curl-7.71.1-10.oe1.src.rpm"
],
"x86_64": [
"libcurl-devel-7.71.1-10.oe1.x86_64.rpm",
"curl-7.71.1-10.oe1.x86_64.rpm",
"curl-debuginfo-7.71.1-10.oe1.x86_64.rpm",
"libcurl-7.71.1-10.oe1.x86_64.rpm",
"curl-debugsource-7.71.1-10.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP1",
"name": "curl",
"purl": "pkg:rpm/openEuler/curl\u0026distro=openEuler-20.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "7.71.1-10.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"aarch64": [
"curl-debugsource-7.71.1-10.oe1.aarch64.rpm",
"libcurl-7.71.1-10.oe1.aarch64.rpm",
"curl-debuginfo-7.71.1-10.oe1.aarch64.rpm",
"libcurl-devel-7.71.1-10.oe1.aarch64.rpm",
"curl-7.71.1-10.oe1.aarch64.rpm"
],
"noarch": [
"curl-help-7.71.1-10.oe1.noarch.rpm"
],
"src": [
"curl-7.71.1-10.oe1.src.rpm"
],
"x86_64": [
"curl-7.71.1-10.oe1.x86_64.rpm",
"curl-debugsource-7.71.1-10.oe1.x86_64.rpm",
"libcurl-devel-7.71.1-10.oe1.x86_64.rpm",
"libcurl-7.71.1-10.oe1.x86_64.rpm",
"curl-debuginfo-7.71.1-10.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP2",
"name": "curl",
"purl": "pkg:rpm/openEuler/curl\u0026distro=openEuler-20.03-LTS-SP2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "7.71.1-10.oe1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Medium"
},
"details": "cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various protocols.\r\n\r\nSecurity Fix(es):\r\n\r\ncurl supports the `-t` command line option, known as `CURLOPT_TELNETOPTIONS`in libcurl. This rarely used option is used to send variable=content pairs toTELNET servers.Due to flaw in the option parser for sending `NEW_ENV` variables, libcurlcould be made to pass on uninitialized data from a stack based buffer to theserver. Therefore potentially revealing sensitive internal information to theserver using a clear-text network protocol.This could happen because curl did not call and use sscanf() correctly whenparsing the string provided by the application.(CVE-2021-22925)\r\n\r\nlibcurl-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.(CVE-2021-22926)",
"id": "OESA-2021-1321",
"modified": "2026-08-06T11:04:33Z",
"published": "2021-08-20T11:04:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1321"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22925"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22926"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "curl security update",
"upstream": [
"CVE-2021-22925",
"CVE-2021-22926"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.