high CVSS 7.8

CVE-2024-57998·Kernel vulnerability

In the Linux kernel, the following vulnerability has been resolved: OPP: add index check to assert to avoid buffer overflow in _read_freq() Pass the freq index to the assert function to make sure we do not read a freq out of the opp->rates[] table when called from the indexed variants: dev_pm_opp_find_freq_exact_indexed() or dev_pm_opp_find_freq_ceil/floor_indexed(). Add a secondary parameter to the assert function, unused for assert_single_clk() then add assert_clk_index() which will check for the clock index when called from the _indexed() find functions.

Severity
high
Software
Kernel
Fixed in
6.13.2
Published
2025-02-27

Affected versions

From: 6.13

Until: 6.13.2

Fixed in: 6.13.2

How to fix this CVE

Update your Linux kernel to version 6.13.2 or later to patch a buffer overflow vulnerability in the OPP (Operating Performance Points) frequency lookup functions. The vulnerability exists in indexed frequency-finding operations that fail to validate array bounds, potentially allowing out-of-bounds memory reads. Apply kernel updates through your distribution's package manager and reboot your system to activate the patched kernel.

sudo dnf check-update kernel && sudo dnf update kernel && sudo reboot

Defensia detects this vulnerability

How to check if you are affected

  1. Check your current kernel version with: uname -r — compare the output against the affected range 6.13.0 through 6.13.1
  2. Verify OPP support in your kernel by checking: grep -i 'CONFIG_PM_OPP' /boot/config-$(uname -r) — if set to 'y', the vulnerable code path may be present
  3. Search kernel logs for OPP-related warnings: sudo journalctl -b | grep -i 'opp\|freq' — look for memory access anomalies or assertion failures
  4. Confirm the patch has been applied by checking kernel version with uname -r — should show 6.13.2 or later

FAQ

What is CVE-2024-57998?

A buffer overflow vulnerability in the Linux kernel's OPP (Operating Performance Points) subsystem where frequency lookup operations using indexed variants fail to validate array bounds before accessing the opp->rates[] table, potentially allowing out-of-bounds memory reads.

Is CVE-2024-57998 being actively exploited?

No, there is no evidence of active exploitation or public exploits available for this vulnerability at this time.

What versions of Kernel are affected by CVE-2024-57998?

Linux kernel versions 6.13.0 through 6.13.1 are affected. Version 6.13.2 and later contain the fix.

How do I check if my server is vulnerable to CVE-2024-57998?

Run 'uname -r' and check if the output shows kernel version 6.13.0 or 6.13.1. If so, your system is vulnerable and requires a kernel update to 6.13.2 or later.

Does Defensia detect CVE-2024-57998?

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-2024-57998 will appear in your dashboard with remediation steps.

Related Kernel CVEs

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-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-63994CVSS 9.8In the Linux kernel, the following vulnerability has been resolved: tunnels: load network headers after skb_cow() in iptunnel_pmtud_build_icmp[v6]() Sashiko found that iptunnel_pmtud_build_icmp() and iptunnel_pmtud_build_icmpv6() were caching ip_hdr() and ipv6_hdr() before an skb_cow() call which can reallocate skb->head. Fix this possible UAF by initializing the local variables after the skb_cow() call. Remove skb_reset_network_header() calls which were not needed.
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.

References

Track CVEs across your fleet automatically

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

Get started free