{"schemaVersion":3,"id":"CVE-2023-41229","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"D-Link DIR-3040 HTTP Request Processing Referer Heap-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 not 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 heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of root. Was ZDI-CAN-21671.","dates":{"published":"2024-05-03T02:12:19.329Z","modified":"2024-08-02T18:54:04.384Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.8,"severity":"high","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AV:A/AC:L/PR:N/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":8.8,"severity":"high","vector":"CVSS:3.0/AV:A/AC:L/PR:N/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":8.8,"severity":"high","vector":"CVSS:3.1/AV:A/AC:L/PR:N/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":8.8,"severity":"high","vector":"CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01038,"percentile":0.63403,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.01038},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01038,"percentile":0.63403}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01038,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01038,"percentile":0.63403}]},"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-122","name":"Heap-based Buffer Overflow","description":"A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/122.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-1337/","label":"www.zerodayinitiative.com/advisories/ZDI-23-1337/","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:19.329Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-02T18:54:04.384Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":35,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T17:46:31.200Z","stale":false,"partial":false}}