CVE-2022-49626

sfc: fix use after free when disabling sriov

HIGH
7.8
CVSS Score
Published: February 26, 2025 at 02:23 AM UTC
Updated: June 17, 2026 at 05:18 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: sfc: fix use after free when disabling sriov Use after free is detected by kfence when disabling sriov. What was read after being freed was vf->pci_dev: it was freed from pci_disable_sriov and later read in efx_ef10_sriov_free_vf_vports, called from efx_ef10_sriov_free_vf_vswitching. Set the pointer to NULL at release time to not trying to read it later. Reproducer and dmesg log (note that kfence doesn't detect it every time): $ echo 1 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs $ echo 0 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs BUG: KFENCE: use-after-free read in efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc] Use-after-free read at 0x00000000ff3c1ba5 (in kfence-#224): efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc] efx_ef10_pci_sriov_disable+0x38/0x70 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xfe/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae kfence-#224: 0x00000000edb8ef95-0x00000000671f5ce1, size=2792, cache=kmalloc-4k allocated by task 6771 on cpu 10 at 3137.860196s: pci_alloc_dev+0x21/0x60 pci_iov_add_virtfn+0x2a2/0x320 sriov_enable+0x212/0x3e0 efx_ef10_sriov_configure+0x67/0x80 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xba/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae freed by task 6771 on cpu 12 at 3170.991309s: device_release+0x34/0x90 kobject_cleanup+0x3a/0x130 pci_iov_remove_virtfn+0xd9/0x120 sriov_disable+0x30/0xe0 efx_ef10_pci_sriov_disable+0x57/0x70 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xfe/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.10 ≤ v < 4.14.2894.15 ≤ v < 4.19.2534.2 ≤ v < 4.14.2894.2 ≤ v < 4.19.2534.2 ≤ v < 4.9.3244.2 ≤ v < 5.10.1324.2 ≤ v < 5.15.564.2 ≤ v < 5.18.134.2 ≤ v < 5.194.2 ≤ v < 5.4.2074.20 ≤ v < 5.4.2075.11 ≤ v < 5.15.565.16 ≤ v < 5.18.135.5 ≤ v < 5.10.1323c5eb87605e85146a78de589b5070a37862425db5.19 rc15.19 rc25.19 rc35.19 rc45.19 rc55.19 rc6
Vendor states this is fixed in 3199e34912d84cdfb8a93a984c5ae5c73fb13e84 (fixed)
Vendor states this is fixed in 58d93e9d160c0de6d867c7eb4c2206671a351eb1 (fixed)
Vendor states this is fixed in 9c854ae512b89229aeee93849e9bd4c115b37909 (fixed)
Vendor states this is fixed in bcad880865bfb421885364b1f0c7351280fe2b97 (fixed)
Vendor states this is fixed in c2240500817b3b4b996cdf2a461a3a5679f49b94 (fixed)
Vendor states this is fixed in c9e75bb22a26e391f189f5a5133dd63dcb57fdaa (fixed)
Vendor states this is fixed in e435c4aeeaa073091f7f3b7735af2ef5c97d63f2 (fixed)
Vendor states this is fixed in ebe41da5d47ac0fff877e57bd14c54dccf168827 (fixed)
Vendor states this is fixed in 4.14.289 (unaffected)
Vendor states this is fixed in 4.19.253 (unaffected)
Vendor states this is fixed in 4.2 (unaffected)
Vendor states this is fixed in 4.9.324 (unaffected)
Vendor states this is fixed in 5.10.132 (unaffected)
Vendor states this is fixed in 5.15.56 (unaffected)
Vendor states this is fixed in 5.18.13 (unaffected)
Vendor states this is fixed in 5.19 (unaffected)
Vendor states this is fixed in 5.4.207 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3199e34912d84cdfb8a93a984c5ae5c73fb13e84
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/58d93e9d160c0de6d867c7eb4c2206671a351eb1
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9c854ae512b89229aeee93849e9bd4c115b37909
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bcad880865bfb421885364b1f0c7351280fe2b97
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c2240500817b3b4b996cdf2a461a3a5679f49b94
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c9e75bb22a26e391f189f5a5133dd63dcb57fdaa
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e435c4aeeaa073091f7f3b7735af2ef5c97d63f2
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ebe41da5d47ac0fff877e57bd14c54dccf168827

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHCISA-ADP
Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card