openwrt / openwrt/packages

wsdd2: two remote memory-safety bugs in the packet parsers

Open Beginner friendly
#30,347 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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:

  1. 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.
  2. 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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.