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

config_red error path kfrees struct that may be embedded member of dn_pipe: latent UAF/invalid-free

Summary

config_red(:1359-1363) when red_lookup_depth==0 calls kfree(x,M_DUMMYNET)+return EINVAL. But x can be &pipe->fs (embedded in dn_pipe via config_pipe:1520 set_fs_parms(&x->fs,...)). Freeing interior of larger alloc -> invalid free. set_fs_parms ignores return value so caller continues to insert freed flowset. Currently unreachable: red_lookup_depth is CTLFLAG_RD sysctl default 256. Latent landmine.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-0377 Β· 1 files
FileTypeDescriptionSize
manifest.json file 397 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/net/dummynet/ip_dummynet.c:1359: config_red error path kfrees possibly-embedded struct (latent UAF)

Verified recommended fix

Source-confirmed at sys/net/dummynet/ip_dummynet.c:1359: config_red error path kfrees possibly-embedded struct (latent UAF)

Verdict

Source-confirmed at sys/net/dummynet/ip_dummynet.c:1359: config_red error path kfrees possibly-embedded struct (latent UAF)