Microsoft’s short attestation that “Azure Linux includes this open‑source library and is therefore potentially affected” is accurate for the product Microsoft has inspected — but it is a product‑scoped inventory statement, not a technical guarantee that no other Microsoft product could contain the same vulnerable Linux kernel code.
The vulnerability tracked as CVE‑2025‑38362 is a Linux kernel bug in the AMD DRM display code where a function fails to check the return of get_first_active_display, which can be NULL if there are no active displays. The missing check can produce a kernel NULL‑pointer dereference (an oops) inside the HDCP helper paths; upstream maintainers added the defensive NULL check and returned a sentinel error (MOD_HDCP_STATUS_DISPLAY_NOT_FOUND) to avoid the crash. This class of defect is categorized by distributors as an availability/robustness issue: the canonical impact is local denial‑of‑service (kernel oops, driver reset), not an obvious remote code‑execution or immediate privilege escalation vector. Because the flawed code lives in the upstream Linux kernel tree (drivers/gpu/drm/amd/display), any product or image that ships a kernel build containing the affected code (and that lacks the upstream fix or an equivalent vendor backport) is potentially vulnerable. Microsoft’s statement singled out Azure Linux (the distribution formerly known as CBL‑Mariner) in its machine‑readable VEX/CSAF attestations: Microsoft began publishing these attestations in October 2025, and the initial rollout deliberately started with Azure Linux artifacts. That sequencing explains why Azure Linux appears in MSRC’s product mapping for third‑party CVEs ahead of other Microsoft products. Microsoft has also said it will update CVE/VEX data if additional Microsoft products are later found to ship the same upstream component.
Operators should act on the attestation for Azure Linux immediately and simultaneously perform per‑artifact verification across any other Microsoft‑supplied kernels or images they run. The technical fix is small and available in upstream stable trees; the operational work is inventory, validation, and coordinated patching. Microsoft’s VEX rollout reduces ambiguity for the product families it covers — and it should be used as a foundation for wider, artifact‑level validation across mixed estates until attestations encompass the broader Microsoft portfolio.
Source: MSRC Security Update Guide - Microsoft Security Response Center
Background / Overview
The vulnerability tracked as CVE‑2025‑38362 is a Linux kernel bug in the AMD DRM display code where a function fails to check the return of get_first_active_display, which can be NULL if there are no active displays. The missing check can produce a kernel NULL‑pointer dereference (an oops) inside the HDCP helper paths; upstream maintainers added the defensive NULL check and returned a sentinel error (MOD_HDCP_STATUS_DISPLAY_NOT_FOUND) to avoid the crash. This class of defect is categorized by distributors as an availability/robustness issue: the canonical impact is local denial‑of‑service (kernel oops, driver reset), not an obvious remote code‑execution or immediate privilege escalation vector. Because the flawed code lives in the upstream Linux kernel tree (drivers/gpu/drm/amd/display), any product or image that ships a kernel build containing the affected code (and that lacks the upstream fix or an equivalent vendor backport) is potentially vulnerable. Microsoft’s statement singled out Azure Linux (the distribution formerly known as CBL‑Mariner) in its machine‑readable VEX/CSAF attestations: Microsoft began publishing these attestations in October 2025, and the initial rollout deliberately started with Azure Linux artifacts. That sequencing explains why Azure Linux appears in MSRC’s product mapping for third‑party CVEs ahead of other Microsoft products. Microsoft has also said it will update CVE/VEX data if additional Microsoft products are later found to ship the same upstream component. What Microsoft’s sentence actually means — unpacking the attestation
Product‑scoped attestation, not global exclusion
When MSRC writes that “Azure Linux includes this open‑source library and is therefore potentially affected,” it is performing a narrow inventory attestation for a named product family. That attestation is authoritative and actionable for Azure Linux customers: if you run Azure Linux images, treat them as in‑scope and apply the vendor updates or patched kernel packages Microsoft supplies. Crucially, the presence (or absence) of a VEX/CSAF entry for any other Microsoft product is absence of attestation, not proof of absence. Microsoft’s VEX rollout is phased and product‑by‑product; other Microsoft artifacts (WSL2 kernels, linux‑azure kernels used by certain VM SKUs, Marketplace images, container images, or appliances) are separate build artifacts that must be inventoried individually to determine whether they carry the vulnerable driver code. Microsoft has explicitly committed to updating CVE entries if additional impacted products are discovered.Why vendors restrict initial attestations to a single product
Large vendors ship hundreds of distinct artifacts. Each artifact is built separately and may enable different kernel config flags, include different modules, or include downstream backports. Because kernel composition and packaging decisions are artifact‑level properties, Microsoft’s phased VEX approach starts with Azure Linux so the company can validate the attestation process and publish machine‑readable output for a well‑defined product prior to scaling to other product families. This pragmatic approach improves automation and reduces false positives in large estates — but it does not alter the underlying technical reality: any Microsoft artifact that contains the affected kernel code could, in principle, be a carrier until verified.Technical anatomy of CVE‑2025‑38362
The bug in plain terms
- Component: Linux kernel AMD DRM display driver (drivers/gpu/drm/amd/display).
- Fault: mod_hdcp_hdcp1_enable_encryption calls get_first_active_display but does not check for a NULL return. If the display list is empty, the NULL propagates and later leads to a dereference inside mod_hdcp_hdcp2_enable_encryption, causing a kernel NULL‑pointer dereference.
- Consequence: kernel oops or driver reset; availability impact (local Denial‑of‑Service).
Where the fix landed
Upstream maintainers applied a small, surgical change: before referencing the returned display pointer, the code checks for NULL and returns MOD_HDCP_STATUS_DISPLAY_NOT_FOUND when no display is present. The upstream Linux CVE announcements and stable branch commits document the fix and the kernel versions into which it was merged; maintainers also cherry‑picked the commits into multiple stable branches. The linux‑cve‑announce posting lists the exact commit IDs and the kernel stable releases that received the patches.A note on exploitability
Public trackers and vendor advisories classify this as a local vulnerability. Exploitation requires the ability to exercise the relevant DRM/HDCP paths — for example, a process that interacts with /dev/dri device nodes, a compositor, or an untrusted container with device passthrough. While kernel oopses can, in multi‑tenant environments, be high value to attackers (denial of service, disruption, or an initial step in complex local exploitation chains), there is no authoritative public reporting tying this CVE to remote code execution or privilege escalation. Operators should treat the issue primarily as an availability risk to be patched or mitigated.Is Azure Linux the only Microsoft product that includes the vulnerable library?
Short, balanced answer: No — not necessarily. Azure Linux is the only Microsoft product that Microsoft has publicly attested to include the implicated open‑source component at the time of the advisory, which makes Azure Linux a confirmed in‑scope product you must remediate. However, that attestation does not prove exclusivity: other Microsoft artifacts that ship a Linux kernel build could include the same upstream driver depending on kernel version, configuration and backport history. Microsoft will expand VEX attestations as it inventories more products, and it has stated it will update CVE mappings if additional products are identified.Examples of Microsoft artifacts that could, in principle, carry the same code
- WSL2 kernel builds — Microsoft publishes a WSL2 kernel source tree and ships kernel binaries for WSL; whether a given WSL kernel build includes amdgpu/drm code depends on the kernel configuration used for that WSL release. The public source tree indicates the driver files exist in Microsoft’s kernel repositories, which makes WSL a realistic candidate for inspection.
- linux‑azure / kernel packages used by certain Azure VM SKUs — Azure publishes kernels for some VM images; different kernel packaging and backport policies may produce divergent exposure across VM SKUs.
- Azure Marketplace images and appliances — Many Marketplace images include a kernel bundled with the image; their exposure depends on the kernel version and enabled drivers in that image.
- Container images with privileged mounts or device passthrough — images themselves do not carry the host kernel, but the host kernel they run on can be a carrier; if Microsoft supplies host images or base images that include the vulnerable kernel, customers must validate them.
Verifying exposure — practical, per‑artifact runbook
The only reliable way to determine whether a specific Microsoft artifact is affected is to perform artifact‑level verification. The following steps scale from an individual host to fleet automation.1. Inventory and prioritize
- List all Microsoft‑published images and artifacts you run: Azure Marketplace images, Azure Linux instances, WSL installations, AKS node images, and any Microsoft‑curated containers or appliances.
- Prioritize assets that expose GPUs or pass /dev/dri into containers or VMs — those are higher‑risk for this class of bug.
2. Check kernel version and changelog
- On the host: uname -r to get running kernel version.
- Check the kernel package changelog (distribution package metadata) for the presence of the stable commit(s) referenced in upstream advisories. linux‑cve‑announce and major distros list the stable commit IDs that fix CVE‑2025‑38362. If the kernel package changelog mentions those commit IDs, the kernel binary likely contains the fix; if not, the kernel may still be vulnerable.
3. Inspect kernel config and modules
- Check whether the AMD DRM driver is present or built: zcat /proc/config.gz | grep -E "CONFIG_DRM_AMDGPU|CONFIG_DRM" (if config available), or examine /lib/modules/$(uname -r)/kernel/drivers/gpu/drm/amdgpu.
- Run lsmod | grep amdgpu and check dmesg/journalctl for amdgpu or drm messages — these show whether the driver is loaded and active. If amdgpu is not present or loaded, the attack surface is lower, but you still must verify how the kernel was built.
4. Inspect WSL kernels and images
- For WSL2: check the kernel binary shipped with the WSL release and the Microsoft/WSL2‑Linux‑Kernel configuration. Microsoft publishes kernel sources for WSL — presence of amdgpu in the source tree means WSL builds can include the driver, but per‑release builds vary. Verify the WSL kernel version and whether the specific stable commits are included or backported.
5. Artifact inspection for third‑party images
- If you use Marketplace images, obtain the SBOM, package metadata, or public advisory for that image. If metadata is inconclusive, instantiate a VM from the image and run the checks above.
6. Use vendor attestations where available
- For Azure Linux, use Microsoft’s published VEX/CSAF attestation as the authoritative signal for those artifacts. For other Microsoft products, check MSRC CVE pages and VEX files periodically for updates. Microsoft has committed to expanding attestations to additional products over time.
Mitigation and interim controls
If you cannot immediately apply the vendor‑supplied kernel update or rebuild images with the patched kernel, the following mitigations reduce exposure:- Restrict access to DRM device nodes: tighten udev rules and file permissions on /dev/dri/* so that unprivileged users or containers cannot access the device nodes. Removing or limiting group membership that grants device access reduces local attack surface.
- Isolate GPU hosts: avoid running untrusted code on hosts that present GPUs to multi‑tenant workloads; prefer dedicated, patched hosts for GPU sharing.
- Avoid passing device nodes into untrusted containers: do not mount /dev/dri into containers unless strictly required and the host kernel is patched.
- Monitor kernel logs: add SIEM rules to detect oops traces mentioning amdgpu or “NULL pointer dereference” in combination with amdgpu/drm stack frames. Preserve dmesg and vmcore on incidents for analysis.
Detection and response — what to hunt for
- Kernel oops traces with stack frames referencing amdgpu, drm, or hdcp paths (for example, frames that show mod*hdcp** or get_first_active_display). Collect dmesg, serial console logs, and journalctl output to correlate events.
- Repro steps: workloads that stress GPU memory mappings, open DRM IOCTLs repeatedly, or cause rapid driver probe/unprobe cycles may trigger the problematic path on unpatched kernels.
- SIEM/EDR rules: match kernel logs for “amdgpu” AND “NULL pointer” or match common oops signatures referencing dc_destruct, hdcp, or other driver symbols. Preserve kernel crash dumps where available.
Strengths and limits of Microsoft’s VEX/CSAF approach — critical analysis
Notable strengths
- Machine‑readable, authoritative attestation for Azure Linux. Microsoft’s early VEX outputs give automation tools and enterprise teams a concrete signal for Azure Linux artifacts, reducing noisy triage and enabling targeted remediation. This is a meaningful improvement in supply‑chain transparency.
- Clear process commitment. Microsoft publicly stated it will update CVEs if additional products are identified as impacted, which sets a reasonable expectation for expanding product coverage.
- Actionable remediation: For Azure Linux images, customers have a clear path: consume MSRC VEX attestations and apply the patched kernel packages published by Microsoft for those images.
Potential risks and remaining gaps
- Attestation coverage is phased, not exhaustive. Starting with Azure Linux leaves a window where other Microsoft artifacts may be unverified. Large organizations that use mixed Microsoft artifacts (WSL, Marketplace images, Azure VM SKUs) must perform their own artifact inventories rather than rely on the absence of attestations.
- Artifact heterogeneity complicates automated triage. The same upstream code can be present or absent depending on kernel config, module packing, or vendor backports; automated scanners that flag all Microsoft products without VEX awareness will generate false positives or force unnecessary remediation. Microsoft’s VEX files reduce those false positives for the products covered — but only for the products covered so far.
- Long‑tail devices and appliance images. Embedded appliances or images with slow update cycles remain a perennial risk: vendors may not backport fixes promptly, and attestations will only help after the vendor inventory completes and the artifact is patched. This is not a Microsoft‑specific issue but applies across the ecosystem.
Recommended policy and operational checklist
- Treat MSRC’s VEX/CSAF output as the canonical, machine‑readable signal for Azure Linux artifacts and patch those hosts first.
- Inventory all Microsoft Linux artifacts you run: WSL2 installations, linux‑azure kernels backing VM SKUs, Marketplace images, AKS node images, and any Microsoft‑curated appliances. Prioritize GPU hosts and multi‑tenant platforms for verification.
- Run the per‑artifact verification steps listed above (kernel version, changelog, module presence, lsmod/dmesg checks) and automate the checks across fleets using configuration management tools.
- If immediate patching is not possible, apply compensating controls: restrict /dev/dri access, avoid device passthrough for untrusted workloads, and isolate GPU‑exposed hosts.
- Monitor kernel logs for amdgpu oopses and preserve forensic artifacts (dmesg, vmcore) for any instability. Add SIEM rules to detect relevant kernel tracewords.
Conclusion
Microsoft’s public advisory for CVE‑2025‑38362 and the accompanying VEX/CSAF attestation that “Azure Linux includes this open‑source library and is therefore potentially affected” is a valuable, authoritative signal for Azure Linux customers and a clear step toward improved vendor transparency. However, the statement is intentionally scoped: it documents what Microsoft has inventory‑checked so far, not an exhaustive guarantee that no other Microsoft product ever includes the vulnerable kernel code.Operators should act on the attestation for Azure Linux immediately and simultaneously perform per‑artifact verification across any other Microsoft‑supplied kernels or images they run. The technical fix is small and available in upstream stable trees; the operational work is inventory, validation, and coordinated patching. Microsoft’s VEX rollout reduces ambiguity for the product families it covers — and it should be used as a foundation for wider, artifact‑level validation across mixed estates until attestations encompass the broader Microsoft portfolio.
Source: MSRC Security Update Guide - Microsoft Security Response Center