{"schemaVersion":3,"id":"CVE-2023-41217","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"D-Link DIR-3040 prog.cgi SetQuickVPNSettings Password Stack-Based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows network-adjacent attackers to execute arbitrary code on affected installations of D-Link DIR-3040 routers. Authentication is required to exploit this vulnerability.\n\nThe specific flaw exists within the prog.cgi binary, which handles HNAP requests made to the lighttpd webserver listening on TCP ports 80 and 443. The issue results from the lack of proper validation of a user-supplied string before copying it to a fixed-length stack-based buffer. An attacker can leverage this vulnerability to execute code in the context of root. Was ZDI-CAN-21617.","dates":{"published":"2024-05-03T02:12:10.869Z","modified":"2024-08-02T18:54:04.592Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.1,"severity":"high","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":7.1,"severity":"high","vector":"CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00746,"percentile":0.53981,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00746},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00746,"percentile":0.53981}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00746,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00746,"percentile":0.53981}]},"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":[],"exploitCount":0,"weaknesses":[{"id":"CWE-121","name":"Stack-based Buffer Overflow","description":"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).","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/121.html"},{"id":"CWE-787","name":"Out-of-bounds Write","description":"The product writes data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/787.html"}],"affected":[{"vendor":"d-link","product":"dir-3040","name":"DIR-3040","label":"dir-3040","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"120B03","noFixRecorded":false,"fixedIn":null}],"versionsText":"120B03","eol":null,"hubHref":"/vendor/d-link/dir-3040"},{"vendor":"dlink","product":"dir-3040_firmware","name":"dir-3040 firmware","label":"dir-3040_firmware","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"≤ 1.20b03","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 1.20b03","eol":null,"hubHref":"/vendor/dlink/dir-3040"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.zerodayinitiative.com/advisories/ZDI-23-1325/","label":"www.zerodayinitiative.com/advisories/ZDI-23-1325/","hostname":"www.zerodayinitiative.com","tags":["X Research Advisory","Third Party Advisory"]},{"url":"https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10350","label":"supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10350","hostname":"supportannouncement.us.dlink.com","tags":["Vendor Advisory","Patch"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2024-05-03T02:12:10.869Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-02T18:54:04.592Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":29,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T17:54:44.577Z","stale":false,"partial":false}}