DF-2234 / manifest.json
{ "finding_id": "DF-2234", "title": "iconv_sysctl_cslist stack overflow via over-long charset names", "verdict": "reproduced", "impact": "panic", "privesc_candidate": false, "kernel_refs": [ "sys/libiconv/iconv.c:368", "sys/libiconv/iconv.c:369", "sys/libiconv/iconv.c:179", "sys/libiconv/iconv.c:382", "sys/sys/iconv.h:64", "sys/kern/kern_sysctl.c:1321", "sys/kern/kern_sysctl.c:1447" ], "reproduce": { "build": "sh build.sh (guest, root): longcs.ko + csread + addtest (userland tools copied to /home/maxx)", "run": "sh run.sh: kldload libiconv; addtest 30/31; su maxx csread (control); kldload longcs.ko; su maxx csread (trigger)", "expected": "control read returns clean 240-byte listing; after longcs.ko the unprivileged read panics: Fatal trap 9, frame pointer = 0x10:0x4242424242424242, Stopped at iconv_sysctl_cslist+0xf7: ret" }, "artifacts": [ "README.md", "VERDICT.md", "Makefile", "longcs.c", "csread.c", "addtest.c", "build.sh", "run.sh", "build.log", "run.log", "panic.txt", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |