smb: client: Fix use-after-free in cifs_try_adding_channels()
- 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 6.1.183, 6.6.152, 6.8, 6.12.104, 6.18.45, and 1 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: total
Summary
In the Linux kernel, the following vulnerability has been resolved: smb: client: Fix use-after-free in cifs_try_adding_channels() cifs_try_adding_channels() takes a temporary reference to an interface before dropping iface_lock. If cifs_ses_add_channel() fails, it drops that reference and then increments iface->weight_fulfilled. A concurrent interface list refresh can remove the list reference while channel creation is in progress. In that case, the failure-path kref_put() releases the last reference and frees iface. Updating weight_fulfilled afterward then accesses freed memory. Increment weight_fulfilled before dropping the temporary reference, keeping iface alive for the final access.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From cbc53148cc0946b72d62a3c53870cb22ce4ec284 · fixed in 64d7584e62ac8cdc750455c5fdc6008fc2de4f06; From cff97d683a083b862a8bb24309e0f4d2d928128a · fixed in c292d4686f717c03e5022fc4ae7c782f39a94915; From 6aac002bcfd554aff6d3ebb55e1660d078d70ab0 · fixed in 47dfac48bce7198ad4f1a388fc8c9491f878ac3b; From 6aac002bcfd554aff6d3ebb55e1660d078d70ab0 · fixed in 1ffacbadc14530e55b8d86f7b917524f6a0fb891; From 6aac002bcfd554aff6d3ebb55e1660d078d70ab0 · fixed in 1305eadc6a7d78a8d0a52eee29ddd2d9e8a27805; From 6aac002bcfd554aff6d3ebb55e1660d078d70ab0 · fixed in 4986410316b1ae0e63c6ce418e4eb196723626e7; From 6.1.78 · fixed in 6.1.183; From 6.6.17 · fixed in 6.6.152; From 6.7.5 · fixed in 6.8
- Linux Linux
6.8
- KernelLinux
fixed in 6.1.183; From 6.2.0 · fixed in 6.6.152; From 6.7.0 · fixed in 6.12.104; From 6.8.0 · fixed in 6.18.45; From 6.13.0 · fixed in 7.1.9