CVE-2022-48637·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: bnxt: prevent skb UAF after handing over to PTP worker When reading the timestamp is required bnxt_tx_int() hands over the ownership of the completed skb to the PTP worker. The skb should not be used afterwards, as the worker may run before the rest of our code and free the skb, leading to a use-after-free. Since dev_kfree_skb_any() accepts NULL make the loss of ownership more obvious and set skb to NULL.
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.19.12
- Published
- 2024-04-28
Affected versions
From: 5.16
Until: 5.19.12
Fixed in: 5.19.12
How to fix this CVE
Update your Linux kernel to version 5.19.12 or later to resolve a use-after-free vulnerability in the bnxt network driver's PTP timestamp handling. The vulnerability occurs when the driver hands over socket buffer ownership to a PTP worker thread without properly nullifying the reference, allowing the worker to free memory that may still be accessed by the transmission completion handler. Apply the kernel update through your distribution's package manager and reboot to ensure the patched version is running.
sudo dnf update kernel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r — confirm the version is 5.19.12 or later
- Verify bnxt driver is loaded: lsmod | grep bnxt — check if the vulnerable driver is active on your system
- Review kernel configuration: zcat /proc/config.gz | grep CONFIG_BNX2 — determine if Broadcom NetXtreme driver support is compiled in
- Confirm patch application: grep -i 'skb.*NULL' /proc/version or check kernel commit logs via git log --oneline | grep 'bnxt' for the specific fix commits
FAQ
What is CVE-2022-48637?
CVE-2022-48637 is a use-after-free vulnerability in the Linux kernel's bnxt (Broadcom NetXtreme) network driver. When the driver processes transmitted packets with PTP (Precision Time Protocol) timestamps, it transfers ownership of the socket buffer to a worker thread but fails to null the local reference, potentially leading to memory corruption if the worker thread executes and frees the buffer before the main transmission handler completes.
Is CVE-2022-48637 being actively exploited?
No, CVE-2022-48637 is not listed on CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. However, the vulnerability requires local access and elevated privileges to trigger, limiting its attack surface.
What versions of Kernel are affected by CVE-2022-48637?
Linux kernel versions 5.16 through 5.19.11 are vulnerable. The vulnerability is patched in kernel version 5.19.12 and later stable releases.
How do I check if my server is vulnerable to CVE-2022-48637?
Run 'uname -r' to display your kernel version. If it falls between 5.16 and 5.19.11 and your system has Broadcom NetXtreme network adapters (check via 'lspci | grep -i broadcom'), your system is vulnerable and requires immediate kernel patching.
Does Defensia detect CVE-2022-48637?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server with a vulnerable version, CVE-2022-48637 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/08483e4c0c83b221b8891434a04cec405dee94a6
- https://git.kernel.org/stable/c/32afa1f23e42cc635ccf4c39f24514d03d1e8338
- https://git.kernel.org/stable/c/c31f26c8f69f776759cbbdfb38e40ea91aa0dd65
- https://git.kernel.org/stable/c/08483e4c0c83b221b8891434a04cec405dee94a6
- https://git.kernel.org/stable/c/32afa1f23e42cc635ccf4c39f24514d03d1e8338
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48637. Free for 1 server.
Get started free