VYPR
Unrated severityNVD Advisory· Published Sep 11, 2019· Updated Aug 4, 2024

CVE-2019-5054

CVE-2019-5054

Description

An exploitable denial-of-service vulnerability exists in the session handling functionality of the NETGEAR N300 (WNR2000v5 with Firmware Version V1.0.0.70) HTTP server. An HTTP request with an empty User-Agent string sent to a page requiring authentication can cause a null pointer dereference, resulting in the HTTP service crashing. An unauthenticated attacker can send a specially crafted HTTP request to trigger this vulnerability.

Affected products

1

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"Missing NULL pointer check on req->user_agent before passing it to strcat() in send_authenticate()."

Attack vector

An unauthenticated attacker sends an HTTP request to a page that requires authentication (e.g., `/UPG_upgrade.htm`) with an empty `User-Agent` header [ref_id=1]. The HTTP daemon populates the `http_request` structure, but because the `User-Agent` header is empty, `req->user_agent` remains unpopulated (NULL) [ref_id=1]. When `send_authenticate()` calls `strcat(curBrowser, req->user_agent)`, the NULL pointer dereference causes a segmentation fault, crashing the HTTP service [ref_id=1]. The attack is performed over the network with no authentication required [CWE-476].

Affected code

The vulnerability resides in the `send_authenticate()` function of the NETGEAR N300 (WNR2000v5) HTTP server. The function retrieves `req->user_agent` from the `http_request` structure at address `0x4cabb0` and passes it directly to `strcat()` without a NULL check [ref_id=1]. The crash occurs at the `strcat()` call when `$a1` (the user_agent pointer) is NULL, as shown in the annotated disassembly at `0x4097f8`–`0x409804` [ref_id=1].

What the fix does

The advisory does not include a patch or vendor fix details [ref_id=1]. The remediation guidance is implicit: the HTTP server should validate that `req->user_agent` is not NULL before passing it to `strcat()` in `send_authenticate()` [ref_id=1]. A NULL check on the `user_agent` pointer before the concatenation operation would prevent the null pointer dereference and resulting denial of service [CWE-476].

Preconditions

  • configTarget must be a NETGEAR N300 (WNR2000v5) router running firmware version V1.0.0.70
  • networkAttacker must have network access to the router's HTTP server
  • inputHTTP request must target a page that requires authentication (e.g., /UPG_upgrade.htm)
  • inputHTTP request must include an empty User-Agent header (e.g., 'User-Agent:')

Reproduction

Send a single curl command with an empty User-Agent header to an authenticated page on the target router: `$ curl -H 'User-Agent:' http://192.168.1.1/UPG_upgrade.htm` [ref_id=1]. This triggers the NULL pointer dereference in `send_authenticate()`, causing the HTTP service to crash [ref_id=1].

Generated on May 25, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

1

News mentions

0

No linked articles in our index yet.