{"api_version":"1","generated_at":"2026-07-23T12:31:02+00:00","cve":"CVE-2026-5090","urls":{"html":"https://cve.report/CVE-2026-5090","api":"https://cve.report/api/cve/CVE-2026-5090.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-5090","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-5090"},"summary":{"title":"Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected","description":"Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected.\n\nThe html_filter function did not escape single quotes. HTML attributes inside of single quotes could be have code injected.  For example, the variable \"var\" in\n\n    <a id='ref' title='[% var | html %]'>\n\nwould not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,\n\n    var = \" ' onclick='while (true) { alert(1) }'\"\n\nNote that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.","state":"PUBLISHED","assigner":"CPANSec","published_at":"2026-05-19 22:16:39","updated_at":"2026-05-20 14:17:02"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation"],"metrics":[{"version":"3.1","source":"ADP","type":"DECLARED","score":"6.1","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.1,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","version":"3.1"}},{"version":"3.1","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","score":"6.1","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","baseScore":6.1,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}}],"references":[{"url":"https://github.com/abw/Template2/issues/327","name":"https://github.com/abw/Template2/issues/327","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"http://www.openwall.com/lists/oss-security/2026/05/19/40","name":"http://www.openwall.com/lists/oss-security/2026/05/19/40","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/abw/Template2/pull/337/changes/11c78a7a771d4af505efeb754a0b8775689c2eae","name":"https://github.com/abw/Template2/pull/337/changes/11c78a7a771d4af505efeb754a0b8775689c2eae","refsource":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-5090","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-5090","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"TODDR","product":"Template::Plugin::HTML","version":"affected 3.102 custom","platforms":[]}],"timeline":[{"source":"CNA","time":"2024-12-01T00:00:00.000Z","lang":"en","value":"Issue reported in GitHub."},{"source":"CNA","time":"2026-02-21T00:00:00.000Z","lang":"en","value":"Pull request submitted."},{"source":"CNA","time":"2026-03-22T00:00:00.000Z","lang":"en","value":"Pull request merged."},{"source":"CNA","time":"2026-03-22T00:00:00.000Z","lang":"en","value":"Issue reported to CPANSec."},{"source":"CNA","time":"2026-03-28T00:00:00.000Z","lang":"en","value":"CVE assigned."}],"solutions":[],"workarounds":[{"source":"CNA","title":"","value":"Attribute values in templates that contain escaped HTML should use double quotes instead of single quotes.","time":"","lang":"en"}],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"5090","cve":"CVE-2026-5090","epss":"0.000100000","percentile":"0.012370000","score_date":"2026-05-27","updated_at":"2026-05-28 00:02:14"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2026-05-19T23:25:21.832Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/05/19/40"}],"title":"CVE Program Container"},{"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.1,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","version":"3.1"}},{"other":{"content":{"id":"CVE-2026-5090","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-05-20T13:45:07.748170Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-05-20T13:45:31.562Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"collectionURL":"https://cpan.org/modules","defaultStatus":"unaffected","packageName":"Template-Toolkit","product":"Template::Plugin::HTML","programFiles":["lib/Template/Plugin/HTML.pm"],"programRoutines":[{"name":"Template::Plugin::HTML::html_filter"}],"repo":"https://github.com/abw/Template2","vendor":"TODDR","versions":[{"lessThanOrEqual":"3.102","status":"affected","version":"0","versionType":"custom"}]}],"descriptions":[{"lang":"en","value":"Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected.\n\nThe html_filter function did not escape single quotes. HTML attributes inside of single quotes could be have code injected.  For example, the variable \"var\" in\n\n    <a id='ref' title='[% var | html %]'>\n\nwould not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,\n\n    var = \" ' onclick='while (true) { alert(1) }'\"\n\nNote that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-19T21:30:03.552Z","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","shortName":"CPANSec"},"references":[{"tags":["issue-tracking"],"url":"https://github.com/abw/Template2/issues/327"},{"tags":["patch"],"url":"https://github.com/abw/Template2/pull/337/changes/11c78a7a771d4af505efeb754a0b8775689c2eae"}],"source":{"discovery":"UNKNOWN"},"timeline":[{"lang":"en","time":"2024-12-01T00:00:00.000Z","value":"Issue reported in GitHub."},{"lang":"en","time":"2026-02-21T00:00:00.000Z","value":"Pull request submitted."},{"lang":"en","time":"2026-03-22T00:00:00.000Z","value":"Pull request merged."},{"lang":"en","time":"2026-03-22T00:00:00.000Z","value":"Issue reported to CPANSec."},{"lang":"en","time":"2026-03-28T00:00:00.000Z","value":"CVE assigned."}],"title":"Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected","workarounds":[{"lang":"en","value":"Attribute values in templates that contain escaped HTML should use double quotes instead of single quotes."}],"x_generator":{"engine":"cpansec-cna-tool 0.1"}}},"cveMetadata":{"assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","assignerShortName":"CPANSec","cveId":"CVE-2026-5090","datePublished":"2026-05-19T21:30:03.552Z","dateReserved":"2026-03-28T19:35:11.737Z","dateUpdated":"2026-05-20T13:45:31.562Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-19 22:16:39","lastModifiedDate":"2026-05-20 14:17:02","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation"],"metrics":{"cvssMetricV31":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","baseScore":6.1,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":2.7}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"5090","Ordinal":"1","Title":"Template::Plugin::HTML versions through 3.102 for Perl allows HT","CVE":"CVE-2026-5090","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"5090","Ordinal":"1","NoteData":"Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected.\n\nThe html_filter function did not escape single quotes. HTML attributes inside of single quotes could be have code injected.  For example, the variable \"var\" in\n\n    <a id='ref' title='[% var | html %]'>\n\nwould not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,\n\n    var = \" ' onclick='while (true) { alert(1) }'\"\n\nNote that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.","Type":"Description","Title":"Template::Plugin::HTML versions through 3.102 for Perl allows HT"}]}}}