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)
PoC verification
Evidence pack
findings/poc/DF-1455 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| manifest.json | file | 408 B | view raw |
Fix verification
not_testablerecommended fix identified; fix.diff not authored/validated in this batch
recommended fix identified; fix.diff not authored/validated in this batch
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
No comments yet.