β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-1896

intel_csr_ucode_fini kfree dmc_payload without NULLing pointer: dangling pointer (latent UAF)

Summary

intel_csr_ucode_fini L564 kfree(dev_priv->csr.dmc_payload) no dev_priv->csr.dmc_payload=NULL afterward. Pointer remains dangling. intel_csr_load_program L254 only guards on !dmc_payload so non-NULL dangling pointer causes proceed and deref payload L246/265 use-after-free. Today fini is unload-time only (i915_driver_unload:761/i915_pci_remove:1855) no known post-fini caller so latent. Defense-in-depth: NULL pointer + zero dmc_fw_size after kfree.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-1896 Β· 1 files
FileTypeDescriptionSize
manifest.json file 393 B view raw

Fix verification

not_testable
baseline reproduced→ patch + rebuild →patched clean

recommended fix identified; fix.diff not authored/validated in this batch

recommended fix identified; fix.diff not authored/validated in this batch
combined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Info severity)

Evidence (decisive lines)

Source-confirmed at sys/dev/drm/i915/intel_csr.c:557: kfree dmc_payload without NULLing pointer (dangling pointer, latent UAF)

Verified recommended fix

Source-confirmed at sys/dev/drm/i915/intel_csr.c:557: kfree dmc_payload without NULLing pointer (dangling pointer, latent UAF)

Verdict

Source-confirmed at sys/dev/drm/i915/intel_csr.c:557: kfree dmc_payload without NULLing pointer (dangling pointer, latent UAF)