Race Condition Affecting linux-qemu-melange package, versions <6.18.49-r2


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.11% (2nd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-LINUXQEMUMELANGE-19667643
  • published10 Sept 2026
  • disclosed24 Jun 2026

Introduced: 24 Jun 2026

CVE-2026-53008  (opens in a new tab)
CWE-362  (opens in a new tab)

How to fix?

Upgrade Chainguard linux-qemu-melange to version 6.18.49-r2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream linux-qemu-melange package and not the linux-qemu-melange package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

In the Linux kernel, the following vulnerability has been resolved:

ice: fix race condition in TX timestamp ring cleanup

Fix a race condition between ice_free_tx_tstamp_ring() and ice_tx_map() that can cause a NULL pointer dereference.

ice_free_tx_tstamp_ring currently clears the ICE_TX_FLAGS_TXTIME flag after NULLing the tstamp_ring. This could allow a concurrent ice_tx_map call on another CPU to dereference the tstamp_ring, which could lead to a NULL pointer dereference.

CPU A:ice_free_tx_tstamp_ring() CPU B:ice_tx_map()
tx_ring->tstamp_ring = NULL
                              | ice_is_txtime_cfg() -&gt; true
                              | tstamp_ring = tx_ring-&gt;tstamp_ring
                              | tstamp_ring-&gt;count  // NULL deref!

flags &= ~ICE_TX_FLAGS_TXTIME |

Fix by:

  1. Reordering ice_free_tx_tstamp_ring() to clear the flag before NULLing the pointer, with smp_wmb() to ensure proper ordering.
  2. Adding smp_rmb() in ice_tx_map() after the flag check to order the flag read before the pointer read, using READ_ONCE() for the pointer, and adding a NULL check as a safety net.
  3. Converting tx_ring->flags from u8 to DECLARE_BITMAP() and using atomic bitops (set_bit(), clear_bit(), test_bit()) for all flag operations throughout the driver:
    • ICE_TX_RING_FLAGS_XDP
    • ICE_TX_RING_FLAGS_VLAN_L2TAG1
    • ICE_TX_RING_FLAGS_VLAN_L2TAG2
    • ICE_TX_RING_FLAGS_TXTIME

CVSS Base Scores

version 3.1