OESA-2022-1506 (CVE-2021-22923)
Vulnerability from osv_openeuler – Published: 2022-01-28 11:04 – Updated: 2026-08-06 11:04 – Source websiteCurl is used in command lines or scripts to transfer data.
Security Fix(es):
When curl is instructed to get content using the metalink feature, and a user name and password are used to download the metalink XML file, those same credentials are then subsequently passed on to each of the servers from which curl will download or try to download the contents from. Often contrary to the user's expectations and intentions and without telling the user it happened.(CVE-2021-22923)
When curl is instructed to download content using the metalink feature, thecontents is verified against a hash provided in the metalink XML file.The metalink XML file points out to the client how to get the same contentfrom a set of different URLs, potentially hosted by different servers and theclient can then download the file from one or several of them. In a serial orparallel manner.If one of the servers hosting the contents has been breached and the contentsof the specific file on that server is replaced with a modified payload, curlshould detect this when the hash of the file mismatches after a completeddownload. It should remove the contents and instead try getting the contentsfrom another URL. This is not done, and instead such a hash mismatch is onlymentioned in text and the potentially malicious content is kept in the file ondisk.(CVE-2021-22922)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"curl-7.71.1-12.oe1.aarch64.rpm",
"curl-debuginfo-7.71.1-12.oe1.aarch64.rpm",
"libcurl-devel-7.71.1-12.oe1.aarch64.rpm",
"curl-debugsource-7.71.1-12.oe1.aarch64.rpm",
"libcurl-7.71.1-12.oe1.aarch64.rpm"
],
"noarch": [
"curl-help-7.71.1-12.oe1.noarch.rpm"
],
"src": [
"curl-7.71.1-12.oe1.src.rpm"
],
"x86_64": [
"libcurl-7.71.1-12.oe1.x86_64.rpm",
"curl-debuginfo-7.71.1-12.oe1.x86_64.rpm",
"curl-debugsource-7.71.1-12.oe1.x86_64.rpm",
"libcurl-devel-7.71.1-12.oe1.x86_64.rpm",
"curl-7.71.1-12.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-12.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"aarch64": [
"curl-debuginfo-7.71.1-12.oe1.aarch64.rpm",
"curl-7.71.1-12.oe1.aarch64.rpm",
"libcurl-7.71.1-12.oe1.aarch64.rpm",
"libcurl-devel-7.71.1-12.oe1.aarch64.rpm",
"curl-debugsource-7.71.1-12.oe1.aarch64.rpm"
],
"noarch": [
"curl-help-7.71.1-12.oe1.noarch.rpm"
],
"src": [
"curl-7.71.1-12.oe1.src.rpm"
],
"x86_64": [
"libcurl-7.71.1-12.oe1.x86_64.rpm",
"curl-debuginfo-7.71.1-12.oe1.x86_64.rpm",
"curl-debugsource-7.71.1-12.oe1.x86_64.rpm",
"libcurl-devel-7.71.1-12.oe1.x86_64.rpm",
"curl-7.71.1-12.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-12.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"aarch64": [
"libcurl-devel-7.71.1-12.oe1.aarch64.rpm",
"curl-debuginfo-7.71.1-12.oe1.aarch64.rpm",
"curl-7.71.1-12.oe1.aarch64.rpm",
"curl-debugsource-7.71.1-12.oe1.aarch64.rpm",
"libcurl-7.71.1-12.oe1.aarch64.rpm"
],
"noarch": [
"curl-help-7.71.1-12.oe1.noarch.rpm"
],
"src": [
"curl-7.71.1-12.oe1.src.rpm"
],
"x86_64": [
"curl-debuginfo-7.71.1-12.oe1.x86_64.rpm",
"libcurl-devel-7.71.1-12.oe1.x86_64.rpm",
"curl-debugsource-7.71.1-12.oe1.x86_64.rpm",
"curl-7.71.1-12.oe1.x86_64.rpm",
"libcurl-7.71.1-12.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP3",
"name": "curl",
"purl": "pkg:rpm/openEuler/curl\u0026distro=openEuler-20.03-LTS-SP3"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "7.71.1-12.oe1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Medium"
},
"details": "Curl is used in command lines or scripts to transfer data.\r\n\r\nSecurity Fix(es):\r\n\r\nWhen curl is instructed to get content using the metalink feature, and a user name and password are used to download the metalink XML file, those same credentials are then subsequently passed on to each of the servers from which curl will download or try to download the contents from. Often contrary to the user\u0026apos;s expectations and intentions and without telling the user it happened.(CVE-2021-22923)\r\n\r\nWhen curl is instructed to download content using the metalink feature, thecontents is verified against a hash provided in the metalink XML file.The metalink XML file points out to the client how to get the same contentfrom a set of different URLs, potentially hosted by different servers and theclient can then download the file from one or several of them. In a serial orparallel manner.If one of the servers hosting the contents has been breached and the contentsof the specific file on that server is replaced with a modified payload, curlshould detect this when the hash of the file mismatches after a completeddownload. It should remove the contents and instead try getting the contentsfrom another URL. This is not done, and instead such a hash mismatch is onlymentioned in text and the potentially malicious content is kept in the file ondisk.(CVE-2021-22922)",
"id": "OESA-2022-1506",
"modified": "2026-08-06T11:04:47Z",
"published": "2022-01-28T11:04:47Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2022-1506"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22923"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22922"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "curl security update",
"upstream": [
"CVE-2021-22923",
"CVE-2021-22922"
]
}
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.