cxgb4/ch_ktls: disable softirqs around tid_list erases
- 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.11, 5.13, 6.6.160, 6.12.113, 6.18.57, 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
Summary
The vulnerability affects the Linux kernel's cxgb4 driver for Chelsio network adapters, specifically its kTLS offload code (ch_ktls). A race in connection cleanup can cause the system to hang, resulting in a denial of service.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
In the Linux kernel, the following vulnerability has been resolved: cxgb4/ch_ktls: disable softirqs around tid_list erases chcr_ktls_cpl_act_open_rpl() inserts into tid_list from the receive path using xa_insert_bh(). The array is shared by the adapter's connections and initialized with XA_FLAGS_LOCK_BH. However, chcr_ktls_dev_del() and the chcr_ktls_dev_add() error path use xa_erase(), which takes the XArray lock without disabling softirqs. When cleanup runs with softirqs enabled, a receive softirq for another connection on the same CPU can interrupt the erase and spin on the lock held by the interrupted task. Use xa_erase_bh() at both sites to match the insertion path.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- Linux Linux
From 65e302a9bd57b62872040d57eea1201562a7cbb2 · fixed in 8739f06e3f82cd715f7dd10ab24029ed881efc90; From 65e302a9bd57b62872040d57eea1201562a7cbb2 · fixed in bcf97573d44e277b1744d7f1226f665aa0ccc599; From 65e302a9bd57b62872040d57eea1201562a7cbb2 · fixed in 7110c7f70c59eb7924e79853bcc00e2a026662e6; From 65e302a9bd57b62872040d57eea1201562a7cbb2 · fixed in bea736a2b8c6da5b1078badf1206541b5404250f; From 65e302a9bd57b62872040d57eea1201562a7cbb2 · fixed in 4c9dc0faca98084922caeb689579d338cf3e1c29; From 5.10.42 · fixed in 5.11; From 5.12.9 · fixed in 5.13
- Linux Linux
5.13
- KernelLinux
From 5.13.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.113; From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.2.11