DF-2240 / verdict.json
{ "finding_id": "DF-2240", "status": "reproduced", "reproduced": 1, "impact": null, "confidence": "certain", "verdict": "REPRODUCED on the stock guest with the userland libprop (same sources as sys/libprop): add_uint8(0xff), add_uint16(0xffff), add_uint32(0xffffffff), add_uint64(0xffffffffffffffff) all store, but every matching get_uintN returns false; control values with the top bit clear round-trip fine at all four widths. Signed round-trip semantics broken for exactly the values the unsigned API exists for.", "exploit_chain": "no escalation path: API roundtrip semantics only", "evidence": "run.log: control 0x7f/0x7fff/0x7fffffff/0x7fffffffffffffff -> get true; boundary 0xff/0xffff/0xffffffff/0xffffffffffffffff -> get FALSE at all four widths", "kernel_refs": [ "sys/libprop/prop_array_util.c:187" ], "poc_changes": "Added control values (top bit clear) so the boundary breakage is contrasted in the same table.", "attempts": 2, "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": 10, "guest_dirty": 0, "build_cmd": "cc -O -o prop_uint_roundtrip prop_uint_roundtrip.c -lprop", "run_cmd": "as unpriv user: ./prop_uint_roundtrip", "code_hash": "fb0ef33d8ba351f24d535ccfa090039fd9a3ef847d0c7c7b127b2a9918a927ff", "notes": "", "recommended_fix": "Use prop_number_create_unsigned_integer((uint64_t)val) in the add_uint template, matching set_uint.", "fix_status": "not_testable", "fix_kernel_uname": null, "fix_baseline_reproduced": null, "fix_patched_reproduced": null, "fix_verdict": "fix.diff compile-validated in the batch combined kernel build (all 37 diffs of this batch applied to in-guest /usr/src; make -j6 nativekernel KERNCONF=X86_64_GENERIC, see batch build log referenced in VERDICT.md); no behavior A/B performed for this Info-tier item; behavior A/B intentionally skipped for Info tier", "fix_evidence": "batch combined kernel build log (see findings/poc/_batch41 note in VERDICT.md)" } |