OESA-2021-1343 (CVE-2021-3634)
Vulnerability from osv_openeuler – Published: 2021-09-18 11:04 – Updated: 2026-08-06 11:04 – Source websiteThe ssh library was designed to be used by programmers needing a working SSH implementation by the mean of a library. The complete control of the client is made by the programmer. With libssh, you can remotely execute programs, transfer files, use a secure and transparent tunnel for your remote programs. With its Secure FTP implementation, you can play with remote files easily, without third-party programs others than libcrypto (from openssl).
Security Fix(es):
A flaw has been found in libssh in versions prior to 0.9.6. The SSH protocol keeps track of two shared secrets during the lifetime of the session. One of them is called secret_hash and the other session_id. Initially, both of them are the same, but after key re-exchange, previous session_id is kept and used as an input to new secret_hash. Historically, both of these buffers had shared length variable, which worked as long as these buffers were same. But the key re-exchange operation can also change the key exchange method, which can be based on hash of different size, eventually creating "secret_hash" of different size than the session_id has. This becomes an issue when the session_id memory is zeroed or when it is used again during second key re-exchange.(CVE-2021-3634)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"libssh-0.9.4-5.oe1.aarch64.rpm",
"libssh-devel-0.9.4-5.oe1.aarch64.rpm",
"libssh-debugsource-0.9.4-5.oe1.aarch64.rpm",
"libssh-debuginfo-0.9.4-5.oe1.aarch64.rpm"
],
"noarch": [
"libssh-help-0.9.4-5.oe1.noarch.rpm"
],
"src": [
"libssh-0.9.4-5.oe1.src.rpm"
],
"x86_64": [
"libssh-debugsource-0.9.4-5.oe1.x86_64.rpm",
"libssh-devel-0.9.4-5.oe1.x86_64.rpm",
"libssh-debuginfo-0.9.4-5.oe1.x86_64.rpm",
"libssh-0.9.4-5.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP1",
"name": "libssh",
"purl": "pkg:rpm/openEuler/libssh\u0026distro=openEuler-20.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.9.4-5.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"aarch64": [
"libssh-0.9.4-5.oe1.aarch64.rpm",
"libssh-debugsource-0.9.4-5.oe1.aarch64.rpm",
"libssh-devel-0.9.4-5.oe1.aarch64.rpm",
"libssh-debuginfo-0.9.4-5.oe1.aarch64.rpm"
],
"noarch": [
"libssh-help-0.9.4-5.oe1.noarch.rpm"
],
"src": [
"libssh-0.9.4-5.oe1.src.rpm"
],
"x86_64": [
"libssh-debugsource-0.9.4-5.oe1.x86_64.rpm",
"libssh-debuginfo-0.9.4-5.oe1.x86_64.rpm",
"libssh-0.9.4-5.oe1.x86_64.rpm",
"libssh-devel-0.9.4-5.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP2",
"name": "libssh",
"purl": "pkg:rpm/openEuler/libssh\u0026distro=openEuler-20.03-LTS-SP2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.9.4-5.oe1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Medium"
},
"details": "The ssh library was designed to be used by programmers needing a working SSH implementation by the mean of a library. The complete control of the client is made by the programmer. With libssh, you can remotely execute programs, transfer files, use a secure and transparent tunnel for your remote programs. With its Secure FTP implementation, you can play with remote files easily, without third-party programs others than libcrypto (from openssl).\r\n\r\nSecurity Fix(es):\r\n\r\nA flaw has been found in libssh in versions prior to 0.9.6. The SSH protocol keeps track of two shared secrets during the lifetime of the session. One of them is called secret_hash and the other session_id. Initially, both of them are the same, but after key re-exchange, previous session_id is kept and used as an input to new secret_hash. Historically, both of these buffers had shared length variable, which worked as long as these buffers were same. But the key re-exchange operation can also change the key exchange method, which can be based on hash of different size, eventually creating \u0026quot;secret_hash\u0026quot; of different size than the session_id has. This becomes an issue when the session_id memory is zeroed or when it is used again during second key re-exchange.(CVE-2021-3634)",
"id": "OESA-2021-1343",
"modified": "2026-08-06T11:04:37Z",
"published": "2021-09-18T11:04:37Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1343"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-3634"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "libssh security update",
"upstream": [
"CVE-2021-3634"
]
}
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.