Executive brief
DrayTek VigorSwitch network switches contain a buffer overflow vulnerability in the POE scheduling feature that allows authenticated administrators to crash the device or execute arbitrary commands. The affected switches are enterprise-grade network appliances used to provide power and connectivity to network devices. An attacker with valid admin credentials could exploit this flaw to take control of the switch, disrupting network operations or accessing sensitive network traffic.
Technical details
The vulnerability is a classic buffer overflow (CWE-120) in the poe_schedule_profile function within the mainfunction.cgi component. The vulnerable code concatenates user-supplied fields (start_date, start_time, duration_time, how_often, weekdays, monthly_date, and cycle_duration) into fixed-size buffers without proper length validation. Exploitation requires network access to the device's web management interface and valid administrative credentials. A successful exploit can cause denial of service (device crash) or arbitrary command execution with device privileges. DrayTek has released patched firmware versions across all affected VigorSwitch models, with patch versions ranging from 2.9.10 to 3.10.6 depending on the model line.
Affected products
- DrayTek VigorSwitch G2540xs before 3.9.10
- DrayTek VigorSwitch P2540xs before 3.9.10
- DrayTek VigorSwitch FX2120 before 3.9.10
- DrayTek VigorSwitch G2282x before 2.10.6
- DrayTek VigorSwitch P2282x before 2.10.6
- DrayTek VigorSwitch Q2300x before 2.10.7
- DrayTek VigorSwitch PQ2300xb before 2.10.7
- DrayTek VigorSwitch G2542x before 3.10.6
- DrayTek VigorSwitch P2542x before 3.10.6
- DrayTek VigorSwitch P2542xh before 3.10.6
- DrayTek VigorSwitch PX2060 before 2.9.10
- DrayTek VigorSwitch G1280 before 2.9.10
- DrayTek VigorSwitch P1280 before 2.9.10
- DrayTek VigorSwitch P1281x before 2.9.10
- DrayTek VigorSwitch G1282 before 2.9.10
- DrayTek VigorSwitch P1282 before 2.9.10
- DrayTek VigorSwitch G2121 before 2.9.10
- DrayTek VigorSwitch P2121 before 2.9.10
- DrayTek VigorSwitch PQ2121x before 2.9.10
- DrayTek VigorSwitch Q2121x before 2.9.10
- DrayTek VigorSwitch G2280x before 2.9.10
- DrayTek VigorSwitch P2280x before 2.9.10
- DrayTek VigorSwitch Q2200x before 2.9.10
- DrayTek VigorSwitch PQ2200xb before 2.9.10
- DrayTek VigorSwitch G2100 before 2.9.10
- DrayTek VigorSwitch P2100 before 2.9.10
- DrayTek VigorSwitch G2540x before 2.9.10
- DrayTek VigorSwitch P2540x before 2.9.10
Timeline
- 2026-08-24: disclosed
- 2026-08-24: patched