Bug 1226534 (CVE-2021-47574)

Summary: VUL-0: CVE-2021-47574: kernel: xen/netfront: harden netfront against event channel storms
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: camila.matos, gabriel.bertazi
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/411419/
Whiteboard: CVSSv3.1:SUSE:CVE-2021-47574:5.5:(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-06-19 17:25:44 UTC
In the Linux kernel, the following vulnerability has been resolved:

xen/netfront: harden netfront against event channel storms

The Xen netfront driver is still vulnerable for an attack via excessive
number of events sent by the backend. Fix that by using lateeoi event
channels.

For being able to detect the case of no rx responses being added while
the carrier is down a new lock is needed in order to update and test
rsp_cons and the number of seen unconsumed responses atomically.

This is part of XSA-391

---
V2:
- don't eoi irq in case of interface set broken (Jan Beulich)
- handle carrier off + no new responses added (Jan Beulich)
V3:
- add rx_ prefix to rsp_unconsumed (Jan Beulich)
- correct xennet_set_rx_rsp_cons() spelling (Jan Beulich)

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-47574
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2021/CVE-2021-47574.mbox
https://git.kernel.org/stable/c/81900aa7d7a130dec4c55b68875e30fb8c9effec
https://git.kernel.org/stable/c/99120c8230fdd5e8b72a6e4162db9e1c0a61954a
https://git.kernel.org/stable/c/4bf81386e3d6e5083c93d51eff70260bcec091bb
https://git.kernel.org/stable/c/3559ca594f15fcd23ed10c0056d40d71e5dab8e5
https://git.kernel.org/stable/c/3e68d099f09c260a7dee28b99af02fe6977a9e66
https://git.kernel.org/stable/c/d31b3379179d64724d3bbfa87bd4ada94e3237de
https://git.kernel.org/stable/c/a29c8b5226eda52e6d6ff151d9343558ea3ad451
https://git.kernel.org/stable/c/b27d47950e481f292c0a5ad57357edb9d95d03ba
https://www.cve.org/CVERecord?id=CVE-2021-47574