CVE-2026-89607
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
ecryptfs: reject oversized encrypted_key_size in parse_tag_3_packet
In the Linux kernel, the following vulnerability has been resolved: ecryptfs: reject oversized encrypted_key_size in parse_tag_3_packet parse_tag_3_packet() set encrypted_key_size from the Tag 3 packet body without bounding it against ECRYPTFS_MAX_KEY_BYTES (64). When encrypted_key_size > 64, decrypt_passphrase_encrypted_session_key() sets decrypted_key_size = encrypted_key_size and performs two out-of-bounds writes: 1. crypto_skcipher_decrypt() writes encrypted_key_size bytes into decrypted_key[64] via scatterlist, overflowing into the parent ecryptfs_auth_tok struct. 2. memcpy(crypt_stat->key, decrypted_key, decrypted_key_size) writes into crypt_stat->key[64], corrupting root_iv, keysig_list, and mutexes in ecryptfs_crypt_stat. Only AES-192 (cipher code 0x08) enables this because it sets crypt_stat->key_size = 24 independently of encrypted_key_size, allowing crypto_skcipher_setkey() to succeed while encrypted_key_size exceeds ECRYPTFS_MAX_KEY_BYTES. The PKI decryption path (parse_tag_65_packet) already validates decrypted_key_size <= ECRYPTFS_MAX_KEY_BYTES; the passphrase path omits this check. Bound encrypted_key_size against ECRYPTFS_MAX_KEY_BYTES (64) rather than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES (512). The 64-byte limit also protects the 512-byte encrypted_key[] buffer, so the former 512-byte check is removed as redundant. [tyhicks: Adjust the code comment to refer to macros representing the buffer sizes rather than mentioning the buffer size values since they may change in the future]
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | 2cd21340163494d312836c77c9fbfe2530b3d075 | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | e2152d491ae62d96a32ed59778680a242af1fbc6 | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | d2802414081184f79a619ede178aeef3aa989793 | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | 33e050cac841498b5175f0f385eee903fd98863c | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | ccd13eff0e7356d2aa28b127b577e4e5ad4563f5 | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | 14cb36a500a5a3afbc955dbf69dabc565f1a3b26 | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | a419c9ebfc9a40ee56aaad6dc68bfd67d400817b | Unavailable | None listed |
| 237fead619984cc48818fe12ee0ceada3f55b012 | affected | git | 5babe9c177c364521e3e682b949c5a8c47f4a441 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 2.6.19 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 2.6.19 | Unavailable | None listed |
| 5.10.270 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.221 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.188 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.157 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.109 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.50 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.4 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |