wsdd2: two remote memory-safety bugs in the packet parsers
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 4.6k
- Forks
- 4k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 134
Description
Package Name
wsdd2
Maintainer
openwrt/packages
OpenWrt Version
master
OpenWrt Target/Subtarget
generic
Steps to Reproduce
net/wsdd2 pins Netgear b676d8ac, which has two remotely reachable
memory-safety bugs:
- NULL-pointer write / remote DoS in wsd_parse_http_header (wsd.c) — a
"POST " TCP segment with no CRLF to port 3702 crashes the daemon.
Single-threaded, so one packet = full DoS. - Out-of-bounds read in llmnr_send_response (llmnr.c) — a crafted LLMNR
query walks the label cursor past the packet.
Found with libFuzzer/ASan. Patches attached; they apply to b676d8ac.
Upstream is gone (Netgear and Andy2244 repos both deleted); the only
live tree is github.com/oldium/wsdd2, which has the fixes. Suggest
carrying them as patches under net/wsdd2/patches/ (0011-, 0012-).
wsdd2-01-http-null-deref.patch
wsdd2-02-llmnr-oob-read.patch
Actual Behaviour
crash
Confirmation Checklist
- The package is maintained in this repository.
- I understand that issues related to the base OpenWrt repository or LuCI repository will be closed.
- I am reporting an issue for OpenWrt, not an unsupported fork.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in net/wsdd2 and inspect the package's pinned wsdd2 source at b676d8ac, then review the two attached patches for wsd.c and llmnr.c. Carry them under net/wsdd2/patches/ as 0011- and 0012-, build the package, and verify that the reported malformed HTTP and LLMNR inputs no longer trigger the crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking, security
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- Half a day
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100