CVE-2026-110957: Wavlink WL-WN530BE2-A Login Processing api.cgi sub_12580 os command injection
A vulnerability has been found in Wavlink WL-WN530BE2-A up to M30BE2V250604. The affected element is the function sub12580 of the file api.cgi of the component Login Processing. The manipulation of the argument REMOTEADDR leads to os command injection. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 2026-09-24-841a51c6d5tclinux.bin is sufficient to fix this issue. You should upgrade the affected component. The vendor confirms: "We confirm the finding, and it has already been addressed. In the current firmware the api=info&client=app handler no longer builds a shell command: the login script is now invoked through an argument vector (execvp) instead of system(), and the client address is length-limited and null-checked."
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Wavlink WL-WN530BE2-A Login Processing api.cgito a version that resolves this vulnerability.Fixed in 2026-09-24-841a51c6d5_tclinux.bin
Event History
Frequently Asked Questions
Which deployments are affected?
Wavlink WL-WN530BE2-A devices running firmware up to M30BE2_V250604 are affected. The issue is in the Login Processing component's api.cgi handling.
Does exploitation require authentication or user interaction?
No. The supplied severity vector indicates network-reachable exploitation with low attack complexity, no privileges, and no user interaction.
What input is involved in the attack?
The vulnerable api.cgi function uses the REMOTE_ADDR argument in a way that can lead to OS command injection. The vendor specifically identifies the api=info&client=app handler as having previously constructed a shell command using the client address.
What should be done if the device is affected?
Upgrade to firmware version 2026-09-24-841a51c6d5_tclinux.bin. The vendor states that the corrected firmware invokes the login script through execvp rather than system(), and length-limits and null-checks the client address.
Is exploit code or public exploitation information available?
Yes. The vulnerability description states that an exploit has been publicly disclosed and may be used.