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

Fragile zeroing contract for fill_kinfo_lwp aggregation (+=)

Summary

fill_kinfo_lwp does NOT bzero output (unlike fill_kinfo_proc:126 and fill_kinfo_proc_kthread:286). Uses += on tick/pctcpu/slptime fields(:257-262) and ruadd(:267). Correctness depends on caller pre-zeroing. Current kernel caller correct (kern_proc.c:1601,1613). Latent regression risk.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

fixed
baseline reproduced→ patch + rebuild →patched clean

fix.diff applied + combined nativekernel build rc=0 (-Werror)

fix.diff applied + combined nativekernel build rc=0 (-Werror)
combined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Info severity)

Evidence (decisive lines)

Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation

Verified recommended fix

Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation

Verdict

Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation