high CVSS 7.1

CVE-2021-46965·Kernel vulnerability

In the Linux kernel, the following vulnerability has been resolved: mtd: physmap: physmap-bt1-rom: Fix unintentional stack access Cast &data to (char *) in order to avoid unintentionally accessing the stack. Notice that data is of type u32, so any increment to &data will be in the order of 4-byte chunks, and this piece of code is actually intended to be a byte offset. Addresses-Coverity-ID: 1497765 ("Out-of-bounds access")

Severity
high
Software
Kernel
Fixed in
5.12.3
Published
2024-02-27

Affected versions

From: 5.12

Until: 5.12.3

Fixed in: 5.12.3

How to fix this CVE

Update your Linux kernel to version 5.12.3 or later to fix a memory access vulnerability in the MTD physmap-bt1-rom driver that could cause unintended stack access. This vulnerability affects kernel versions 5.12 through 5.12.2 and has been patched by adding proper pointer casting to ensure byte-level memory operations instead of word-level chunks.

sudo dnf update kernel

Defensia detects this vulnerability

How to check if you are affected

  1. Step 1: Check your kernel version with `uname -r` and verify if it falls between 5.12 and 5.12.2
  2. Step 2: Verify the MTD physmap-bt1-rom driver is loaded by running `lsmod | grep mtd_rom` or `grep physmap /proc/modules`
  3. Step 3: Search system logs for stack corruption or memory access errors using `grep -i 'stack\|out.of.bounds\|memory' /var/log/kern.log` (on systems with this driver active)
  4. Step 4: Confirm the fix by booting into kernel 5.12.3+ and running `uname -r` to verify the patched version is active

FAQ

What is CVE-2021-46965?

CVE-2021-46965 is a memory access vulnerability in the Linux kernel's MTD physmap-bt1-rom driver where pointer arithmetic was performed on u32 data types instead of char pointers, causing unintended stack memory access with 4-byte offsets instead of 1-byte offsets.

Is CVE-2021-46965 being actively exploited?

No, CVE-2021-46965 is not listed in the CISA Known Exploited Vulnerabilities catalog and has no public exploit available. However, it is a high-severity vulnerability (CVSS 7.1) that requires patching due to its potential for privilege escalation and information disclosure.

What versions of Kernel are affected by CVE-2021-46965?

Linux kernel versions 5.12 through 5.12.2 are vulnerable. Kernel 5.12.3 and later versions include the fix.

How do I check if my server is vulnerable to CVE-2021-46965?

Run `uname -r` to check your kernel version; if it shows 5.12.0, 5.12.1, or 5.12.2, your system is vulnerable. Additionally, verify the physmap-bt1-rom driver is in use with `grep -i 'bt1.rom' /proc/modules` or check device tree configurations for Baikal-T1 systems.

Does Defensia detect CVE-2021-46965?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2021-46965 will appear in your dashboard with remediation steps and the specific vulnerable version range.

Related Kernel CVEs

CVE-2026-100075CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: RDMA/srpt: Fix srpt_alloc_rw_ctxs() unwind counters When srpt_alloc_rw_ctxs() fails partway through a multi-buffer indirect descriptor, the unwind path destroys RDMA contexts but leaves stale n_rw_ctx and n_rdma values (and a dangling rw_ctxs pointer). Later sq_wr_avail accounting in srpt_queue_response() or srpt_write_pending() can then subtract the wrong number of send queue credits. Reset the counters and clear rw_ctxs after freeing the heap allocation before returning an error.
CVE-2026-64035CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: igc: set tx buffer type for SMD frames Sashiko pointed out that igc_fpe_init_smd_frame() initializes igc_tx_buffer fields for an SMD skb, but does not set the buffer type: https://sashiko.dev/#/patchset/20260415025226.114115-1-kohei%40enjuk.jp Since igc_tx_buffer entries are reused, a stale XDP or XSK type can remain and make TX completion use the wrong cleanup path. Set the buffer type to IGC_TX_BUFFER_TYPE_SKB.
CVE-2026-64033CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs: Fix use-after-free in path file creation cleanup In the error path of rtrs_srv_create_path_files(), the sysfs root folders may already have been created and srv_path->kobj may already have been initialized. If a later step fails, the cleanup currently calls kobject_put(&srv_path->kobj) before rtrs_srv_destroy_once_sysfs_root_folders(srv_path). kobject_put() may drop the last reference to srv_path->kobj and invoke the release callback, rtrs_srv_release(), which frees srv_path. The following call to rtrs_srv_destroy_once_sysfs_root_folders(srv_path) then dereferences srv_path internally to access srv_path->srv, resulting in a use-after-free. This failure path is reached before rtrs_srv_create_path_files() returns success, so the successful-path lifetime handling is not involved. Fix this by destroying the sysfs root folders before calling kobject_put(&srv_path->kobj), so srv_path is still valid while the helper accesses it. This issue was found by a static analysis tool I am developing.
CVE-2026-64037CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled When the TLC notification disables AMSDU for a TID, the MLD driver sets max_tid_amsdu_len to the sentinel value 1. The TSO segmentation path in iwl_mld_tx_tso_segment() checks for zero but not for this sentinel, allowing it to reach the num_subframes calculation: num_subframes = (max_tid_amsdu_len + pad) / (subf_len + pad) = (1 + 2) / (1534 + 2) = 0 This zero propagates to iwl_tx_tso_segment() which sets: gso_size = num_subframes * mss = 0 Calling skb_gso_segment() with gso_size=0 creates over 32000 tiny segments from a single GSO skb. This floods the TX ring with ~1024 micro-frames (the rest are purged), creating a massive burst of TX completion events that can lead to memory corruption and a subsequent use-after-free in TCP's retransmit queue (refcount underflow in tcp_shifted_skb, NULL deref in tcp_rack_detect_loss). The MVM driver is immune because it checks mvmsta->amsdu_enabled before reaching the num_subframes calculation. The MLD driver has no equivalent bitmap check and relies solely on max_tid_amsdu_len, which does not catch the sentinel value. Fix this by detecting the sentinel value (max_tid_amsdu_len == 1) at the existing check and falling back to non-AMSDU TSO segmentation. Also add a WARN_ON_ONCE guard after the num_subframes division as defense-in-depth to catch any future code paths that produce zero through a different mechanism.
CVE-2026-64000CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: net: hsr: fix potential OOB access in supervision frame handling Ensure the entire TLV header is linearized before access by adding sizeof(struct hsr_sup_tlv) to the pskb_may_pull() calls. Without this, a truncated frame could cause an out-of-bounds access.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-46965. Free for 1 server.

Get started free