{"schemaVersion":3,"id":"CVE-2025-10815","aliases":[],"status":"published","duplicateOf":null,"title":"Tenda AC20 HTTP POST Request SetPptpServerCfg strcpy buffer overflow","description":"A vulnerability was identified in Tenda AC20 up to 16.03.08.12. Affected by this issue is the function strcpy of the file /goform/SetPptpServerCfg of the component HTTP POST Request Handler. Such manipulation of the argument startIp leads to buffer overflow. The attack can be launched remotely. The exploit is publicly available and might be used.","dates":{"published":"2025-09-22T21:02:08.431Z","modified":"2025-09-23T16:02:43.704Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9,"severity":"high","version":"2.0","versionLabel":"v2.0","source":"CVE.org","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:ND/RC:UR","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.7,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:P/RL:X/RC:R","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":8.8,"severity":"high","vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:P/RL:X/RC:R","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"CVE.org","score":9,"severity":"high","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:ND/RC:UR","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":7.4,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":9,"severity":"high","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00852,"percentile":0.57818,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0.020000000000000052,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.00832},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00852,"percentile":0.57818}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00832,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00852,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00852,"percentile":0.57818}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_JUANA-2U_TENDA-AC20","name":"Tenda Ac20","source":"github","url":"https://github.com/Juana-2u/Tenda-AC20","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-119","name":"Improper Restriction of Operations within the Bounds of a Memory Buffer","description":"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.","type":"weakness","status":"Stable","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/119.html"},{"id":"CWE-120","name":"Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')","description":"The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/120.html"}],"affected":[{"vendor":"tenda","product":"ac20_firmware","name":"ac20 firmware","label":"ac20_firmware","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"16.03.08.0","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.1","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.2","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.3","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.4","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.5","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.6","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.7","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.8","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.9","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.10","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.11","noFixRecorded":false,"fixedIn":null},{"text":"16.03.08.12","noFixRecorded":false,"fixedIn":null},{"text":"≤ 16.03.08.12","noFixRecorded":false,"fixedIn":null}],"versionsText":"16.03.08.0 | 16.03.08.1 | 16.03.08.2 | 16.03.08.3 | 16.03.08.4 | 16.03.08.5 | 16.03.08.6 | 16.03.08.7 | 16.03.08.8 | 16.03.08.9 | 16.03.08.10 | 16.03.08.11 | 16.03.08.12 | ≤ 16.03.08.12","eol":null,"hubHref":"/vendor/tenda/ac20"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://vuldb.com/?id.325173","label":"vuldb.com?id.325173","hostname":"vuldb.com","tags":["VDB Entry","Technical Description","Third Party Advisory"]},{"url":"https://vuldb.com/?ctiid.325173","label":"vuldb.com?ctiid.325173","hostname":"vuldb.com","tags":["Signature","Permissions Required","VDB Entry"]},{"url":"https://vuldb.com/?submit.654460","label":"vuldb.com?submit.654460","hostname":"vuldb.com","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://github.com/Juana-2u/Tenda-AC20","label":"github.com/Juana-2u/Tenda-AC20","hostname":"github.com","tags":["Exploit","Not Applicable"]},{"url":"https://www.tenda.com.cn/","label":"www.tenda.com.cn","hostname":"www.tenda.com.cn","tags":["Product"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2025-09-22T21:02:08.431Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-09-23T16:02:43.704Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T20:16:10.282Z","stale":false,"partial":false}}