{"api_version":"1","generated_at":"2026-07-23T23:23:19+00:00","cve":"CVE-2020-14971","urls":{"html":"https://cve.report/CVE-2020-14971","api":"https://cve.report/api/cve/CVE-2020-14971.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-14971","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-14971"},"summary":{"title":"CVE-2020-14971","description":"Pi-hole through 5.0 allows code injection in piholedhcp (the Static DHCP Leases section) by modifying Teleporter backup files and then restoring them. This occurs in settings.php. To exploit this, an attacker would request a backup of limited files via teleporter.php. These are placed into a .tar.gz archive. The attacker then modifies the host parameter in dnsmasq.d files, and then compresses and uploads these files again.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2020-06-23 14:15:00","updated_at":"2021-07-21 11:39:00"},"problem_types":["CWE-862"],"metrics":[],"references":[{"url":"https://blog.telspace.co.za/2020/06/pi-hole-code-injection-cve-2020-14971.html","name":"https://blog.telspace.co.za/2020/06/pi-hole-code-injection-cve-2020-14971.html","refsource":"MISC","tags":["Third Party Advisory"],"title":"Telspace Systems, The Blog: Pi-hole Code Injection – CVE-2020-14971– Story Time","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/pi-hole/AdminLTE/commit/8f6e1365b6dec0ae1aa0b0b15b102c9133f347e5","name":"https://github.com/pi-hole/AdminLTE/commit/8f6e1365b6dec0ae1aa0b0b15b102c9133f347e5","refsource":"CONFIRM","tags":["Patch","Third Party Advisory"],"title":"missed one (yes yes this can all be squashed) · pi-hole/AdminLTE@8f6e136 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/pi-hole/AdminLTE/commit/c949516ee15fa6a9b0c8511cc4c4d6b0893f3e69","name":"https://github.com/pi-hole/AdminLTE/commit/c949516ee15fa6a9b0c8511cc4c4d6b0893f3e69","refsource":"CONFIRM","tags":["Patch","Third Party Advisory"],"title":"make use of utils.escapeHtml on the JS side of things, and html_entit… · pi-hole/AdminLTE@c949516 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/pi-hole/AdminLTE/pull/1443","name":"https://github.com/pi-hole/AdminLTE/pull/1443","refsource":"CONFIRM","tags":["Third Party Advisory"],"title":"Prevent possible XSS attack vector in the input fields of the group section by PromoFaux · Pull Request #1443 · pi-hole/AdminLTE · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-14971","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-14971","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2020","cve_id":"14971","vulnerable":"1","versionEndIncluding":"5.0","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"pi-hole","cpe5":"pi-hole","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2020-14971","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Pi-hole through 5.0 allows code injection in piholedhcp (the Static DHCP Leases section) by modifying Teleporter backup files and then restoring them. This occurs in settings.php. To exploit this, an attacker would request a backup of limited files via teleporter.php. These are placed into a .tar.gz archive. The attacker then modifies the host parameter in dnsmasq.d files, and then compresses and uploads these files again."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"refsource":"MISC","name":"https://blog.telspace.co.za/2020/06/pi-hole-code-injection-cve-2020-14971.html","url":"https://blog.telspace.co.za/2020/06/pi-hole-code-injection-cve-2020-14971.html"},{"refsource":"CONFIRM","name":"https://github.com/pi-hole/AdminLTE/pull/1443","url":"https://github.com/pi-hole/AdminLTE/pull/1443"},{"refsource":"CONFIRM","name":"https://github.com/pi-hole/AdminLTE/commit/c949516ee15fa6a9b0c8511cc4c4d6b0893f3e69","url":"https://github.com/pi-hole/AdminLTE/commit/c949516ee15fa6a9b0c8511cc4c4d6b0893f3e69"},{"refsource":"CONFIRM","name":"https://github.com/pi-hole/AdminLTE/commit/8f6e1365b6dec0ae1aa0b0b15b102c9133f347e5","url":"https://github.com/pi-hole/AdminLTE/commit/8f6e1365b6dec0ae1aa0b0b15b102c9133f347e5"}]}},"nvd":{"publishedDate":"2020-06-23 14:15:00","lastModifiedDate":"2021-07-21 11:39:00","problem_types":["CWE-862"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":7.8,"baseSeverity":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:L/Au:N/C:P/I:P/A:P","accessVector":"LOCAL","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":4.6},"severity":"MEDIUM","exploitabilityScore":3.9,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:pi-hole:pi-hole:*:*:*:*:*:*:*:*","versionEndIncluding":"5.0","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"14971","Ordinal":"176349","Title":"CVE-2020-14971","CVE":"CVE-2020-14971","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"14971","Ordinal":"1","NoteData":"Pi-hole through 5.0 allows code injection in piholedhcp (the Static DHCP Leases section) by modifying Teleporter backup files and then restoring them. This occurs in settings.php. To exploit this, an attacker would request a backup of limited files via teleporter.php. These are placed into a .tar.gz archive. The attacker then modifies the host parameter in dnsmasq.d files, and then compresses and uploads these files again.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"14971","Ordinal":"2","NoteData":"2020-06-23","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"14971","Ordinal":"3","NoteData":"2020-06-24","Type":"Other","Title":"Modified"}]}}}