CVE-2026-2909
Remote Stack-Based Buffer Overflow in Tenda HG9 Diagnostic Ping Endpoint
Publication date: 2026-02-22
Last updated on: 2026-02-23
Assigner: VulDB
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| tenda | hg9_firmware | 300001138 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-119 | The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data. |
| CWE-121 | A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function). |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
[{'type': 'paragraph', 'content': 'CVE-2026-2909 is a stack-based buffer overflow vulnerability found in the Tenda HG9 router firmware version V300001138, specifically in the Diagnostic Ping Endpoint at /boaform/formPing.'}, {'type': 'paragraph', 'content': 'The vulnerability occurs when the function handling the ping command processes a user-supplied IP address parameter called pingAddr. If the ping command fails and outputs an error containing "ping: bad", the function uses an unsafe sprintf call to format an error message into a fixed-size stack buffer without validating the length of pingAddr.'}, {'type': 'paragraph', 'content': 'Because sprintf does not limit the length of the input, supplying a pingAddr longer than the buffer size (512 bytes) causes a stack overflow, potentially overwriting the return address and leading to arbitrary code execution or crashing the device.'}] [1, 2, 3]
How can this vulnerability impact me? :
This vulnerability can have severe impacts including:
- Denial of Service (DoS): Overflowing the buffer corrupts the stack and crashes the HTTP daemon process, causing the router to become unresponsive.
- Remote Code Execution (RCE): An attacker can craft a malicious pingAddr input to overwrite the return address on the stack, allowing execution of arbitrary code remotely without authentication.
- Compromise of confidentiality, integrity, and availability of the device due to the ability to execute arbitrary code or cause crashes.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': "This vulnerability can be detected by sending a specially crafted POST request to the vulnerable endpoint and observing the system's response or behavior."}, {'type': 'paragraph', 'content': "Specifically, sending a POST request to http://<router-ip>/boaform/formPing with the parameter pingAddr set to a very long string (e.g., 600 'A's) can trigger the stack-based buffer overflow if the device is vulnerable."}, {'type': 'paragraph', 'content': 'A sample command using curl to test this would be:'}, {'type': 'list_item', 'content': 'curl -X POST http://192.168.0.1/boaform/formPing -d "pingAddr=$(python3 -c \'print("A"*600)\')"'}, {'type': 'paragraph', 'content': 'If the device crashes, becomes unresponsive, or exhibits abnormal behavior after this request, it indicates the presence of the vulnerability.'}] [1]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include restricting access to the vulnerable endpoint and validating input length to prevent exploitation.
- Limit or block remote access to the /boaform/formPing endpoint, especially from untrusted networks.
- Implement input validation to restrict the length of the pingAddr parameter to a safe maximum (e.g., less than 256 bytes) before processing.
- Replace the unsafe sprintf call in the firmware code with a safer function like snprintf to prevent buffer overflow.
Since the vulnerability is in the firmware version V300001138, check for any vendor patches or updates from Tenda and apply them as soon as they become available.
If no patch is available, consider isolating the device from untrusted networks or replacing it with a secure alternative.