A recent upstream Linux kernel fix — recorded as CVE-2025-38476 and described in the patch notes as “rpl: Fix use-after-free in rpl_do_srh_inline” — addresses a correctness bug in the kernel’s IPv6 route-probing/lwtunnel code that can lead to a use‑after‑free detectable under KASAN testing. Microsoft’s Security Response Center (MSRC) has published an attestation that Azure Linux includes the implicated open‑source component and is therefore potentially affected, and the company has committed to expanding its machine‑readable CSAF/VEX attestations as it inventories additional product artifacts. That MSRC wording is authoritative for Azure Linux but does not by itself prove that Azure Linux is the only Microsoft product that could carry the vulnerable code; an operational reading and the kernel packaging reality show that other Microsoft‑distributed Linux artifacts may be carriers until they are explicitly checked or attested.
The bug tracked as CVE-2025-38476 lives in the Linux kernel’s RPL/lwtunnel IPv6 handling (the function is named rpl_do_srh_inline). The problem arises when the code fetches the IPv6 header pointer via ipv6_hdr(skb), then calls skb_cow_head — an operation that can reallocate or free the buffer underlying the skb — and continues to reference the earlier pointer afterwards. That sequence creates a classic use‑after‑free window; under KASAN (kernel address sanitizer) test harnesses the condition reproduces as an immediate slab-use-after-free. The NVD record includes the KASAN trace text showing the kernel stack and the offending source file lines. Upstream kernel maintainers fixed the root cause by making the old header a local structure copy instead of keeping a pointer into skb memory after a copy‑on‑write operation, eliminating the lifetime dependency. The patch set was merged into stable trees and referenced from kernel stable commit logs. Distribution and cloud vendors have since mapped those stable commits into their kernel packages and advisories. Vendor trackers such as Amazon Linux Security (ALAS), Debian/Ubuntu security advisories and common vulnerability databases list the CVE and publish the mapping and status for their kernels. Why the rpl code path is sensitive: it lives in the light‑weight tunneling / IPv6 SRH handling area of the kernel where packets are transformed or forwarded inline; these code paths are often exercised by local networking tests, kernel selftests, or by privileged network glue code on hosts and VMs. The vulnerability’s practical impact profile is therefore about kernel stability and availability rather than an immediate, unauthenticated remote code execution: bad timings can lead to kernel warnings, KASAN-detected corruption, or OOPS/panics under particular workloads. Multiple downstream trackers classify the issue as medium/important with largely local or privileged exploit vectors.
However, residual risks remain:
Caveat and unverifiable points flagged
Source: MSRC Security Update Guide - Microsoft Security Response Center
Background / Overview
The bug tracked as CVE-2025-38476 lives in the Linux kernel’s RPL/lwtunnel IPv6 handling (the function is named rpl_do_srh_inline). The problem arises when the code fetches the IPv6 header pointer via ipv6_hdr(skb), then calls skb_cow_head — an operation that can reallocate or free the buffer underlying the skb — and continues to reference the earlier pointer afterwards. That sequence creates a classic use‑after‑free window; under KASAN (kernel address sanitizer) test harnesses the condition reproduces as an immediate slab-use-after-free. The NVD record includes the KASAN trace text showing the kernel stack and the offending source file lines. Upstream kernel maintainers fixed the root cause by making the old header a local structure copy instead of keeping a pointer into skb memory after a copy‑on‑write operation, eliminating the lifetime dependency. The patch set was merged into stable trees and referenced from kernel stable commit logs. Distribution and cloud vendors have since mapped those stable commits into their kernel packages and advisories. Vendor trackers such as Amazon Linux Security (ALAS), Debian/Ubuntu security advisories and common vulnerability databases list the CVE and publish the mapping and status for their kernels. Why the rpl code path is sensitive: it lives in the light‑weight tunneling / IPv6 SRH handling area of the kernel where packets are transformed or forwarded inline; these code paths are often exercised by local networking tests, kernel selftests, or by privileged network glue code on hosts and VMs. The vulnerability’s practical impact profile is therefore about kernel stability and availability rather than an immediate, unauthenticated remote code execution: bad timings can lead to kernel warnings, KASAN-detected corruption, or OOPS/panics under particular workloads. Multiple downstream trackers classify the issue as medium/important with largely local or privileged exploit vectors. What Microsoft actually published — reading the MSRC language
Microsoft’s MSRC entry for the CVE includes two key statements:- Azure Linux (Microsoft’s cloud-focused Linux distribution family) includes the implicated open‑source library and is therefore potentially affected.
- Microsoft began publishing machine‑readable CSAF/VEX attestations in October 2025 and will update the CVE/VEX records if additional Microsoft products are identified as carriers of the same upstream component.
Short answer to the user’s question
No — Azure Linux is the only Microsoft product Microsoft has publicly attested so far to include the upstream component implicated by CVE‑2025‑38476, but that does not mean it is the only Microsoft product that could include the vulnerable code. Absence of a VEX/CSAF attestation for other Microsoft artifacts is absence of attestation not proof of absence. Microsoft has stated it will update the CVE/VEX entry if additional affected Microsoft products are identified. Treat the Azure Linux attestation as authoritative for Azure Linux; treat other Microsoft images and artifacts as unverified until they are either attested by Microsoft or checked locally.Why Microsoft’s attestation is product‑scoped (technical and operational reasoning)
Several technical realities make the presence of an upstream kernel source file (or compiled module) an artifact‑specific property:- Kernel build choice: the kernel version and exact commit range used in a build determine which upstream changes are present. Patches may be backported in vendor kernels, and kernel version numbers alone can be ambiguous across backporting practices.
- Kernel configuration: the build-time Kconfig flags (CONFIG_*) decide which subsystems are compiled in, built as modules, or omitted entirely. Two kernels compiled from the same source tree can therefore have different feature surfaces.
- Packaging and backports: distributors often backport fixes into long‑lived branches; a vendor’s “linux-azure” kernel or custom marketplace image may incorporate different backports than a generic distribution.
- Module vs built‑in: even if the upstream code exists as a module on disk, it may not be loaded at runtime; conversely, built‑in code is always present.
Which other Microsoft artifacts could plausibly be carriers?
Although Microsoft only attested Azure Linux in the initial VEX publication, several Microsoft‑distributed artifacts could plausibly include the same upstream kernel code depending on how they were built:- Windows Subsystem for Linux (WSL2) kernel builds distributed by Microsoft (the WSL kernel is maintained separately and published on GitHub).
- linux‑azure kernels used by specific Azure VM SKUs or as host kernels for some managed services.
- Azure Marketplace VM images and partner appliances where Microsoft provides or curates a kernel binary.
- AKS node images or other container-hosting kernels that Microsoft builds or distributes.
- Custom or partner images in Microsoft clouds that include Microsoft-built kernel binaries.
Technical impact and exploitability
Available public reports and the upstream description indicate the vulnerability is a memory‑lifetime bug that triggers under specific conditions (for example, when skb_cow_head is called and the code later dereferences a stale header pointer). The practical profile is:- Primary impact: kernel stability / availability (kernel oops, KASAN reports, potentially host/VM interruption).
- Exploitability: local or privileged vectors are most likely (code paths exercised by host/tenant code, kernel selftests, or privileged packet transformations). No authoritative public proof exists that this specific issue yields a reliable remote code execution or privilege escalation in the wild at the time of disclosure.
Practical verification: how to tell if your environment is affected
Operators should take a deterministic, artifact‑level approach. Recommended verification steps:- Identify the kernel binary in use:
- On a Linux host/VM: run uname -a to get the running kernel version, and inspect /boot or package manager kernel packages for version and build metadata.
- Check kernel configuration:
- If /proc/config.gz exists: zcat /proc/config.gz | grep -E "CONFIG_IPV6|CONFIG_INET|CONFIG_NET|CONFIG_XFRM|CONFIG_NETFILTER|CONFIG_LWTUNNEL" to see if relevant features are enabled.
- Locate relevant modules or built‑in symbols:
- Use modinfo rpl_iptunnel (or grep -R "rpl_iptunnel" /lib/modules/$(uname -r) to see if the module is present.
- Map your kernel to upstream commits:
- Compare your distro/kernel package changelog to the upstream stable commit IDs referenced in NVD or kernel stable trees. Verifying the commit range is the most accurate check because version numbers can be ambiguous when backports are applied.
- Watch for KASAN or WARN messages:
- dmesg or journalctl -k may show KASAN traces or OOPS messages similar to the sample call trace in the NVD entry; such traces confirm the vulnerable code path was hit.
Remediation and mitigation guidance
Apply the following prioritized steps to reduce exposure and restore a known-good state:- 1. Apply vendor kernel updates: Update the kernel packages provided by your distribution or cloud image to the fixed versions mapped to the upstream stable commits. For Azure Linux images, apply Microsoft’s Azure Linux kernel updates as they become available.
- 2. Reboot affected hosts: Because the fix is in kernel code, updates require a reboot to take effect.
- 3. For ephemeral workloads (cloud VMs, containers): Replace or reprovision VMs with patched images where feasible; consider scheduling rolling restarts for fleets.
- 4. For Microsoft artifacts you cannot patch immediately (WSL2 or marketplace images): Isolate or limit exposure where possible (network segmentation, limiting IPv6 SRH exposure), and monitor logs for kernel warnings that match the KASAN call traces.
- 5. Verify mappings: Use the steps described above to map your running kernel to the upstream commit IDs. Where feasible, consult vendor changelogs and advisory feeds for the fixed package versions.
- 6. Follow Microsoft’s VEX/CSAF feed: For Microsoft‑distributed artifacts, consult the machine‑readable attestations that Microsoft publishes and re-check as Microsoft updates the CVE/VEX entry when additional products are inventory-checked.
How to interpret Microsoft’s “potentially affected” language (operational checklist)
- Microsoft’s attestation that “Azure Linux includes the open‑source library and is therefore potentially affected” is authoritative for Azure Linux. Use Microsoft’s VEX/CSAF artifact status to automate triage for Azure Linux fleets.
- Treat absence of attestation for other Microsoft products as “not-yet-checked.” Do not assume those artifacts are safe; verify them by artifact inspection or wait for Microsoft to publish a status update.
- For high‑value or sensitive environments that run Microsoft-provided Linux artifacts beyond Azure Linux (WSL kernels, linux‑azure kernels, Marketplace images), proactively request or check artifact SBOMs/configs and map them to the upstream commit IDs for an unequivocal answer.
Why cross-referencing matters (and how to do it right)
A reliable vulnerability triage hinges on mapping three things precisely:- The upstream commit(s) that implement the fix (technical ground truth).
- The vendor/distribution package or kernel binary shipped to your environment (artifact truth).
- The mapping between (1) and (2) — does the vendor’s kernel package include the upstream fix, or has it been backported?
Notable strengths in Microsoft’s approach — and residual risks
Microsoft’s decision to publish machine‑readable CSAF/VEX attestations and to begin the rollout with Azure Linux is an operationally sensible step. It gives customers deterministic, automatable signals about which Microsoft artifacts have been inventory‑checked and what their status is. For Azure Linux users, that clarity reduces triage time and supports automation.However, residual risks remain:
- The phased nature of the rollout means some Microsoft artifacts remain un‑attested for a time; absence of attestation is not proof of absence. Organizations that run a mix of Microsoft and third‑party artifacts must verify artifact-by-artifact.
- Kernel defects of this class may depend on the kernel configuration or runtime conditions that are hard to reproduce; silent vulnerabilities may persist undetected until a test harness exercises the exact path.
- Some customers use custom or long‑lived images; if those images are built from upstream commit ranges that contain the vulnerable code and have not been updated, they remain exposed.
Conclusion and actionable takeaways
CVE‑2025‑38476 is a real Linux kernel use‑after‑free discovered and fixed upstream; it has been tracked by NVD and by multiple distributors and cloud vendors. Microsoft’s MSRC has publicly attested that Azure Linux includes the implicated component and is therefore potentially affected, and the company is publishing machine‑readable VEX/CSAF attestations and will expand those attestations over time. That attestation is authoritative for Azure Linux but is not a universal statement about every Microsoft product. Administrators should:- Treat the Azure Linux VEX/CSAF attestation as a cue to prioritize Azure Linux images for patching.
- Inventory and verify other Microsoft artifacts in your estate on an artifact‑by‑artifact basis (WSL2 kernel, linux‑azure kernels, Marketplace/AKS images), mapping them to upstream commit IDs rather than relying on version numbers alone.
- Apply vendor kernel updates and perform controlled reboots or reprovisions to remove exposure.
- Monitor dmesg/journalctl for KASAN traces or kernel warnings indicating the problem was exercised in your environment.
- Watch Microsoft’s VEX/CSAF feed for updates — Microsoft will update CVE records if it finds the same component in other product families.
Caveat and unverifiable points flagged
- Microsoft’s public attestation is explicit only for Azure Linux; whether any particular other Microsoft product includes the exact upstream code in question is an artifact‑level fact that must be verified by checking the artifact’s kernel build metadata or by Microsoft updating its VEX/CSAF feed. That vendor‑level confirmation is not yet available for every Microsoft product, and therefore any claim that “no other Microsoft product is affected” would be unverifiable at present.
- Exploitability beyond kernel instability — whether this defect reliably yields privilege escalation or remote code execution in specific environments — has not been demonstrated publicly; public trackers characterize the issue as an availability/robustness defect with local/privileged attack vectors, and operators should treat it accordingly until new evidence emerges.
Source: MSRC Security Update Guide - Microsoft Security Response Center