{"id":"CVE-2026-40506","title":"OpenEMR before 8.2.0 contains a path traversal vulnerability in the standard_tables_manage.php interface where the db GET parameter is passed without validation to temp_dir_cleanup(), which joins the value to the PHP temporary directory …","summary":"OpenEMR before 8.2.0 contains a path traversal vulnerability in the standard_tables_manage.php interface where the db GET parameter is passed without validation to temp_dir_cleanup(), which joins the value to the PHP temporary directory …","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H","cwe":["CWE-22"],"published":"2026-08-17","updated":"2026-09-09","sourceUpdated":"2026-09-09T20:40:01.933","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-40506","references":[{"url":"https://github.com/openemr/openemr/commit/2d8a69f0f343c8e8c6ee1b42d224c24a7a4ba415","label":"disclosure@vulncheck.com"},{"url":"https://github.com/openemr/openemr/pull/11951","label":"disclosure@vulncheck.com"},{"url":"https://github.com/openemr/openemr/releases/tag/v8_2_0","label":"disclosure@vulncheck.com"},{"url":"https://github.com/openemr/openemr/security/advisories/GHSA-hj9x-33vw-5g3x","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/openemr-path-traversal-arbitrary-directory-deletion-via-standard-tables-manage-php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/openemr/openemr/security/advisories/GHSA-hj9x-33vw-5g3x","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"epss":0.00699,"epssPercentile":0.5292,"ingestedAt":"2026-09-09T21:22:45.536Z","vendor":"openemr","product":"openemr","affected":["openemr < 8.2.0"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-08-18T14:58:45.772559Z"},"slug":"CVE-2026-40506","body":"## Overview\n\nOpenEMR before 8.2.0 contains a path traversal vulnerability in the standard_tables_manage.php interface where the db GET parameter is passed without validation to temp_dir_cleanup(), which joins the value to the PHP temporary directory path and recursively deletes the resulting directory. Attackers can supply a traversal sequence in the db parameter to resolve outside the intended temporary directory, and by chaining this with an open redirect in dicom_frame.php, an unauthenticated attacker can deliver a crafted URL that triggers arbitrary recursive directory deletion within an authenticated Superuser's session.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":35.8,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":214500,"id":"CVE-2026-40506","ts":1790869844067,"field":"exploit_available","old":"false","new":"true"}]}