← Back to Feed CACHED · 2026-06-29 11:20:43 · CACHE_KEY CVE-2026-53325
CVE-2026-53325 · CWE-252 · Disclosed 2026-06-29

In the Linux kernel

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A 20-year-old graphics-bus driver forgot to check a return code on its way out the door

CVE-2026-53325 is a missing error-propagation fix in drivers/char/agp/amd64-agp.c, specifically in agp_amd64_probe(). When the probe path encountered a failure condition, it returned success instead of the underlying error, leaving downstream code to dereference a NULL pointer during AGP bridge initialization. Affected versions are mainline Linux kernels prior to the commit landing in 6.x stable; the bug touches only the AMD64 AGP (Accelerated Graphics Port) bridge driver, which exists almost exclusively on pre-2010 Athlon64/Opteron motherboards.

There is no vendor CVSS score and there shouldn't be a high one. The bug is reachable only at boot or module-load time on hardware that ships an AMD64 AGP north-bridge. There is no remote vector, no privilege boundary, and no path that an unprivileged user can take to trigger this — agp_amd64_probe() runs as part of kernel device enumeration. Calling this anything above LOW would be inflation.

"Error-propagation cleanup in a legacy AGP driver — boot-time NULL deref at worst, no remote attack surface, no security boundary crossed."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Attacker must be root or have physical hardware control

The vulnerable code path runs during PCI device probe. To force re-execution an attacker either reboots the box or unbinds/rebinds the amd64-agp driver via sysfs — both require root. There is no userspace ioctl, no network input, no parser reachable from a sandbox.
Conditions required:
  • root on the host
  • AMD64 AGP north-bridge physically present
  • amd64-agp module loadable
Where this breaks in practice:
  • AGP hardware is essentially extinct in enterprise fleets; PCIe replaced it ~2006
  • Root already owns the kernel — exploiting a root-only kernel bug is not a privilege boundary crossing
  • Most distros don't autoload amd64-agp on non-AGP hardware
Detection/coverage: Standard Linux vuln scanners (Tenable, Qualys, Rapid7) will flag the kernel build by version; no behavioral detection is meaningful.
STEP 02

Trigger the failing probe branch

The attacker would need to induce the specific failure condition inside agp_amd64_probe() that the patch addresses — typically a resource-allocation or bridge-detection failure. On real hardware this is a hardware-state condition, not an attacker-controlled input.
Conditions required:
  • Ability to manipulate PCI bridge state or memory pressure during probe
Where this breaks in practice:
  • No userspace primitive to coerce the failure
  • On VMs there is no AGP bridge at all — the driver never binds
Detection/coverage: Kernel oops/panic in dmesg referencing agp_amd64_probe — already noisy, already alerted by any host-monitoring stack.
STEP 03

NULL pointer dereference → local DoS

Best-case (worst-case?) outcome is a kernel oops on a box that already booted successfully thousands of times. No memory disclosure, no code execution primitive in the public discussion of the patch — just a missing error return that lets a NULL get dereferenced.
Conditions required:
  • The oops actually fires rather than being absorbed by surrounding error handling
Where this breaks in practice:
  • DoS-from-root is not a security event in any reasonable threat model
Detection/coverage: Crashdump / kdump / serial console.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. No campaigns, no exploit chatter.
Public PoCNone. The patch is a one-line-class error-propagation fix; weaponization is implausible.
EPSSNot yet scored at disclosure; expected <0.1% given local-only, root-required, legacy-hardware profile.
KEV statusNot listed and will not be.
CVSS vectorNo NVD vector published. Plausible self-assessment: AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L → ~2.0–2.5.
Affected versionsLinux mainline prior to the fix commit; check your distro's stable backport tracker.
Fixed versionsMainline fix in upstream 6.x; RHEL/SUSE/Ubuntu/Debian will fold this into routine stable kernel updates — no out-of-band release expected.
Exposure (Shodan/Censys)Not internet-discoverable — local-only kernel bug.
Disclosure2026-06-29 via the standard linux-cve-announce pipeline.
ReporterKernel community (syzkaller / static-analysis-class finding; no named external researcher).
Affected hardwareAMD64 AGP bridges only — Socket 754/939/940 era boards. Nonexistent in modern fleets.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to LOW (2.5/10)

This is a local-only, root-required NULL deref in a driver for hardware that hasn't shipped in datacenter gear in nearly two decades; the single decisive factor is the attacker must already be root on a host with AMD64 AGP silicon, which collapses the exploitable population to near zero. There is no security boundary being crossed — root crashing its own kernel is not a vulnerability worth a maintenance window.

HIGH Severity assessment (LOW)
HIGH No remote or unprivileged attack surface
MEDIUM Exact affected version range pending distro tracker updates

Why this verdict

  • No security boundary crossed: the bug is reachable only from agp_amd64_probe(), which runs in kernel context during device enumeration — there is no unprivileged or remote primitive.
  • Affected hardware is functionally extinct in enterprise fleets: AMD64 AGP bridges are pre-PCIe-era; virtualized infrastructure does not expose this driver at all.
  • Role multiplier: even on a hypothetical high-value role (DC, hypervisor, PAM appliance) the affected driver does not load — these run on modern PCIe-only hardware or VMs. There is no plausible high-value-role outcome, so the role-multiplier floor does not engage.
  • Impact ceiling is a kernel oops triggered by root — a denial-of-self with no confidentiality or integrity impact, no memory disclosure described in the patch.

Why not higher?

MEDIUM would require either an unprivileged trigger path or meaningful integrity/confidentiality impact; neither exists. HIGH/CRITICAL would require remote reachability or a privilege-escalation primitive, and the patch description shows neither — it is an error-return cleanup, not a use-after-free or out-of-bounds write.

Why not lower?

IGNORE is tempting given the hardware is extinct, but distros will still ship the fix to long-term-support kernels and some embedded/industrial systems do still run AGP-era silicon. Calling it LOW keeps it on the routine kernel-update conveyor belt rather than letting auditors flag it as undocumented-risk-accepted.

05 · Compensating Control

What to do — in priority order.

  1. Let it ride the next routine kernel update — Pick this up in your normal monthly/quarterly kernel rollup — no mitigation SLA applies at LOW. Treat as standard backlog hygiene under the noisgate 365-day remediation window.
  2. Blacklist amd64-agp on modern fleets — Add blacklist amd64-agp to /etc/modprobe.d/noisgate-legacy.conf on any host that has no business loading legacy AGP drivers (every cloud VM, every post-2010 server). Eliminates the attack surface entirely until the patched kernel ships.
  3. Inventory for AMD64 AGP hardware — Run lspci | grep -i agp across the fleet. If the count is zero — which it will be for ~99.9% of enterprise estates — you can document this CVE as not-applicable and move on.
What doesn't work
  • Network segmentation / WAF / firewall rules — irrelevant, this bug has no network surface.
  • EDR / kernel hardening (SELinux, AppArmor, lockdown) — won't block driver probe paths invoked by the kernel itself.
  • Disabling unprivileged user namespaces — unrelated, the trigger requires root or hardware presence anyway.
06 · Verification

Crowdsourced verification payload.

Run on each Linux host as a non-root user (root not required for the checks). Invoke as bash check-cve-2026-53325.sh. The script reports VULNERABLE, PATCHED, or UNKNOWN and also surfaces whether the AGP hardware actually exists on the box — because if it doesn't, the bug is unreachable in practice.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate verification: CVE-2026-53325 (agp/amd64 probe error-propagation)
# Exit codes: 0 = PATCHED or NOT_APPLICABLE, 1 = VULNERABLE, 2 = UNKNOWN
set -u

KVER="$(uname -r)"
echo "[*] Kernel: ${KVER}"

# 1. Is the AGP AMD64 hardware even present?
if command -v lspci >/dev/null 2>&1; then
  AGP_HW="$(lspci 2>/dev/null | grep -iE 'agp|amd64.*bridge' || true)"
else
  AGP_HW=""
fi

if [ -z "${AGP_HW}" ]; then
  echo "[+] No AMD64 AGP bridge detected — bug is unreachable on this host."
  echo "RESULT: NOT_APPLICABLE"
  exit 0
fi

echo "[!] AGP-class hardware detected:"
echo "${AGP_HW}"

# 2. Distro-specific patched-version lookup.
#    Replace the FIXED_* values once your distro publishes the backport metadata.
FIXED_RHEL="5.14.0-9999.el9"     # placeholder — update from RHSA
FIXED_UBUNTU="6.8.0-9999"         # placeholder — update from USN
FIXED_DEBIAN="6.1.0-9999"         # placeholder — update from DSA
FIXED_MAINLINE="6.10"             # placeholder — update from kernel.org

ID="$(. /etc/os-release 2>/dev/null && echo "${ID:-unknown}")"

compare_ge() {
  # returns 0 if $1 >= $2 using dpkg --compare-versions / rpmdev-vercmp fallback
  if command -v dpkg >/dev/null 2>&1; then
    dpkg --compare-versions "$1" ge "$2" && return 0 || return 1
  fi
  [ "$(printf '%s\n%s\n' "$2" "$1" | sort -V | head -1)" = "$2" ] && return 0 || return 1
}

case "${ID}" in
  rhel|centos|rocky|almalinux)
    TARGET="${FIXED_RHEL}" ;;
  ubuntu)
    TARGET="${FIXED_UBUNTU}" ;;
  debian)
    TARGET="${FIXED_DEBIAN}" ;;
  *)
    TARGET="${FIXED_MAINLINE}" ;;
esac

if compare_ge "${KVER}" "${TARGET}"; then
  echo "[+] Kernel ${KVER} >= fixed ${TARGET} for ${ID}"
  echo "RESULT: PATCHED"
  exit 0
fi

echo "[-] Kernel ${KVER} < fixed ${TARGET} for ${ID}"
echo "RESULT: VULNERABLE"
exit 1
07 · Bottom Line

If you remember one thing.

TL;DR
This is LOW — there is no remote reach, no privilege boundary crossed, and the affected hardware barely exists in any enterprise fleet built in the last 15 years. Per the noisgate mitigation SLA there is no mitigation deadline at LOW; go straight to the noisgate remediation SLA 365-day window and let this ride your normal monthly/quarterly kernel rollup. Monday morning: run lspci | grep -i agp across the fleet — for the ~99.9% of hosts that return nothing, document as not-applicable; for the rare hosts that do, drop a blacklist amd64-agp modprobe file and forget about it until the kernel update lands.

Sources

  1. Linux kernel CVE announce (linux-cve-announce list)
  2. NVD entry CVE-2026-53325
  3. kernel.org stable tree
  4. drivers/char/agp/amd64-agp.c (upstream)
  5. Ubuntu CVE tracker
  6. Red Hat CVE database
  7. Debian security tracker
  8. FIRST EPSS
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.