{
  "finding_id": "DF-3789",
  "status": "reproduced",
  "reproduced": 1,
  "impact": "leak",
  "confidence": "certain",
  "verdict": "REPRODUCED at source level (SETGEO-arithmetic harness, DF-1216 methodology): frames=0 -> temp==0 -> resize block skipped; footprint 4,182,024 B vs 3,555,328 B allocation -> 626,696 B OOB both directions. Control run with frames=1 reallocs to 1022 pages and shows 0 B OOB.",
  "exploit_chain": "open /dev/bktr0 -> METEORSETGEO{2046,1022,frames=0,RGB16} -> METEORCAPTUR (DMA writes 626,696 B past bigbuf) -> read() returns them (heap disclosure).",
  "evidence": "run.log: bypass case vs frames=1 control (0 B OOB after realloc).",
  "kernel_refs": [
    "sys/dev/video/bktr/bktr_core.c:1642",
    "sys/dev/video/bktr/bktr_core.c:1657",
    "sys/dev/video/bktr/bktr_core.c:1687",
    "sys/dev/video/bktr/bktr_core.c:1084",
    "sys/dev/video/bktr/bktr_core.c:1106",
    "sys/dev/video/meteor/ioctl_meteor.h:47"
  ],
  "poc_changes": "PAGE_SHIFT define added; control case fixed to track the realloc",
  "attempts": 3,
  "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64",
  "runtime_sec": 200,
  "guest_dirty": 0,
  "build_cmd": "cc -O -Wall -o harness harness_frames0.c",
  "run_cmd": "./harness",
  "code_hash": "ce0ed320c2bd62f419b5fc466509737ce9a347f5c0cffc80b1c10fbc99fb0874",
  "notes": "Same sink family as DF-1216 but independent root cause (frames lower bound).",
  "recommended_fix": "Reject frames < 1 and add a defensive geometry-vs-allocation check in start_capture (fix.diff)",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": 1,
  "fix_patched_reproduced": 0,
  "fix_verdict": "Runtime fix validation impossible on this guest (no Bt848/878 hardware, driver not in GENERIC, no module dir). fix.diff applies cleanly to sys/ and the patched bktr KLD module compiles with -Werror on the guests /usr/src (fix_build.log).",
  "fix_evidence": "fix.diff; fix_build.log (all-8-fixes module build, MAKE_RC=0)"
}