net: ife: require ETH_HLEN to be pullable in ife_decode()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: net: ife: require ETH_HLEN to be pullable in ife_decode() ife decode may return after making only the outer IFE header and metadata pullable. The caller then passes the decapsulated packet to eth_type_trans(), which expects the inner Ethernet header to be accessible from the linear data area. With a malformed IFE frame, the inner Ethernet header may still be shorter than ETH_HLEN in the linear area, which can lead to a crash in the original code. Fix this by extending the pull check in ife_decode() so that the inner Ethernet header is also guaranteed to be pullable before returning.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 70013f9163bef7fbd9fa62f81cf91b2a7ba66163; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in be272e159dfe1207b67332ad6e17adcf59b4ea4b; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 8c8818e52fddb247ff3214622401a4de6ff8482e; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 9433578bff9c100c466a6354574892e55293cb8f; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 1cb42ec10294a55380e52e674b3df2b962648242; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 5526d1997aea6c9bd865ca4d4894b52e799d735c; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in b69ad768cd4a2ef4e07c18492ae85438ed17c7cb; From ef6980b6becb1afd9d82a4f043749a10ae81bf14 · fixed in 9406f6012b7343661efb516a11c62d4db2b62f75
- Linux Linux
4.6
- KernelLinux
From 4.6.0 · fixed in 5.10.261; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5
References 8
git.kernel.org
- stable/c/70013f9163bef7fbd9fa62f81cf91b2a7ba66163
- stable/c/be272e159dfe1207b67332ad6e17adcf59b4ea4b
- stable/c/8c8818e52fddb247ff3214622401a4de6ff8482e
- stable/c/9433578bff9c100c466a6354574892e55293cb8f
- stable/c/1cb42ec10294a55380e52e674b3df2b962648242
- stable/c/5526d1997aea6c9bd865ca4d4894b52e799d735c
- stable/c/b69ad768cd4a2ef4e07c18492ae85438ed17c7cb
- stable/c/9406f6012b7343661efb516a11c62d4db2b62f75