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

Unvalidated completion context and ring log2 sizes from hypervisor-controlled shared DMA memory

Summary

pvscsi.c:899 context_to_hcb(e->context) no check vs hcb_cnt. context=0 -> uint64 underflow. :1049/:1126 cmp/msg_num_entries_log2 from shared DMA used as ring mask, no validation vs allocated ring. :1306 req_num_entries_log2 same. Hypervisor controls these fields. OOB on ring buffers or wild hcb pointer. Defense-in-depth (hypervisor already trusted). Fix: validate context in [1,hcb_cnt], check log2 vs ring allocation.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-1455 Β· 1 files
FileTypeDescriptionSize
manifest.json file 408 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/virtual/vmware/pvscsi/pvscsi.c:899: unvalidated completion context/ring log2 from hypervisor-controlled shared DMA

Verified recommended fix

Source-confirmed at sys/dev/virtual/vmware/pvscsi/pvscsi.c:899: unvalidated completion context/ring log2 from hypervisor-controlled shared DMA

Verdict

Source-confirmed at sys/dev/virtual/vmware/pvscsi/pvscsi.c:899: unvalidated completion context/ring log2 from hypervisor-controlled shared DMA