| Version | Supported |
|---|---|
master (latest) |
✅ |
Firmwares 7_45_265 / 7_45_234 / 7_45_206 / 7_45_189 |
✅ (active) |
Older firmwares/* and patches/* |
|
Vendored utilities/* (e.g., b43, libnl, zlib) and buildtools/isl-* |
Upstream-tracked via buildtools/scripts/check_updates.py; see below |
Please do not open a public issue. Contact us via nexmon@seemoo.de (SEEMOO Lab, TU Darmstadt) with:
- Affected chip/firmware/commit (
git describe --dirty --always --tags) - Reproduction steps,
dmesg/nexmon_crash_decoder.pyoutput, andmonitor-mode.sh/nexfirmware.pylogs if relevant - Impact assessment (e.g., firmware crash, host DoS, information leak)
We acknowledge receipt within 3 business days and aim to provide an initial assessment within 14 days. Coordinated disclosure after a fix is available; we request 90 days before public disclosure.
- Reporter contacts
nexmon@seemoo.dewithSubject: [nexmon security]. - SEEMOO confirms, reproduces, and assigns a case ID.
- Fix developed on a private branch, tested on
bcm43455c0and at least one additional target. - Fix merged to
master, credited in release notes (unless reporter requests anonymity). - CVE requested if applicable.
brcmfmackernel drivers enforce strict Netlink and BCDC bounds checking, rejecting out-of-bounds payloads and validating command ranges.monitor-mode.shusesflockon/run/nexmon-monitor.state(0600), creates state files withumask 077, validatesSTATE_FILEto avoid TOCTOU, and protects existing sessions on rerun.nexfirmware.pyvalidatesput --namebasename, uses atomicmkstemp+fsync+renameacross writes/edits, dynamically derives RAM/ROM offsets, and blocks path traversal inpull.utilities/rawproxy/rawproxyreverseserialize a standard 16-bytepcap_pkthdr32wire format across LP64 and ILP32 platforms, validateportwithstrtolrange1..65535, useSO_REUSEADDR, and detect truncation.libnexiohandles Netlink errors withnl_cb_err, bounds buffer allocations withnlmsg_alloc_size, rejects NULL buffers, bindsnl_pid = 0, and usesSOCK_CLOEXEC/FD_CLOEXEC.- Android pentest suite JNI helpers enforce 64-bit native pointer handles (
jlong), releaseGetStringUTFCharsacross all early-exit paths, and eliminate memory corruption in packet processing. - CI runs
ruffwithextend-select = ["S","B9"](bandit),shellcheck -S error, and native AddressSanitizer/UndefinedBehaviorSanitizer test suites; seepyproject.toml.
buildtools/scripts/check_updates.py tracks utilities/* and buildtools/* against upstream. CI runs it weekly (see .github/workflows/ci.yml check_updates job). To check locally:
python3 buildtools/scripts/check_updates.py --category all
python3 buildtools/scripts/check_updates.py --check-only # exits 1 if updates availablePlease contact us via nexmon@seemoo.de to report suspected security vulnerabilities.