Every CVE Search/ Get API key

CVE-2026-5090

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected

6.1 MediumFix available

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.29%Up 0.3 points since May 20, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
CVE-2026-5090
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-30995 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
EUVD-2026-30995
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-xhg9-j279-j625 6.1

Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected....

Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
GHSA-xhg9-j279-j625
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
CVE-2026-5090
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected.

The 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

<a id='ref' title='[% var | html %]'>

would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example,

var = " ' onclick='while (true) { alert(1) }'"

Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
CVE-2026-5090
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVDEBIAN-CVE-2026-5090 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected. The 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 <a id='ref' title='[% var | html %]'> would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example, var = " ' onclick='while (true) { alert(1) }'" Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
DEBIAN-CVE-2026-5090
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-5090 6.1

Template::Plugin::HTML versions before 3.103 for Perl allows HTML and JavaScript to be injected. The 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 <a id='ref' title='[% var | html %]'> would not be properly escaped. An attacker could insert some limited HTML and JavaScript, for example, var = " ' onclick='while (true) { alert(1) }'" Note that arbitrary HTML and JavaScript would be difficult to inject, because angle brackets, ampersands and double-quotes would still be escaped.

Record
UBUNTU-CVE-2026-5090
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVMGASA-2026-0166 No score

Updated perl-Template-Toolkit packages fix security vulnerability

Template::Plugin::HTML versions through 3.102 for Perl allows HTML and JavaScript to be injected. (CVE-2026-5090)

Record
MGASA-2026-0166
Updated
2026-11-02
OSVUSN-8377-1 No score

libtemplate-perl vulnerability

It was discovered that Template-Toolkit did not properly escape single quotes in the html_filter function of Template::Plugin::HTML. An attacker could possibly use this issue to inject arbitrary HTML and JavaScript into generated output.

Record
USN-8377-1
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
libtemplate-perl
Debian:12
All versions, plus listed versions
2.27-13.102-13.102-23.102-33.106-1
None known
libtemplate-perl
Debian:13
All versions, plus listed versions
2.27-13.102-13.102-23.102-33.106-1
None known
libtemplate-perl
Debian:14
before 3.102-3, plus listed versions
2.27-13.102-13.102-2
3.102-3
perl-Template-Toolkit
Mageia:9
before 3.101.0-1.1.mga9
3.101.0-1.1.mga9
libtemplate-perl
Ubuntu:16.04:LTS
All versions, plus listed versions
2.24-1.2build12.24-1.2build2
None known
libtemplate-perl
Ubuntu:18.04:LTS
All versions, plus listed versions
2.24-1.2build52.27-1
None known
libtemplate-perl
Ubuntu:20.04:LTS
All versions, plus listed versions
2.27-1build12.27-1build2
None known
libtemplate-perl
Ubuntu:22.04:LTS
before 2.27-1ubuntu0.22.04.1, plus listed versions
2.27-1build42.27-1build5
2.27-1ubuntu0.22.04.1
libtemplate-perl
Ubuntu:24.04:LTS
before 2.27-1ubuntu0.24.04.1, plus listed versions
2.27-1build72.27-1build82.27-1build92.27-1build10
2.27-1ubuntu0.24.04.1
libtemplate-perl
Ubuntu:25.10
before 2.27-1ubuntu0.25.10.1, plus listed versions
2.27-1build11
2.27-1ubuntu0.25.10.1
libtemplate-perl
Ubuntu:26.04:LTS
before 3.102-1ubuntu0.1, plus listed versions
2.27-1build113.102-1
3.102-1ubuntu0.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-5090 is a medium vulnerability (CVSS 6.1) in libtemplate-perl, published May 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in libtemplate-perl 3.102-3.

References

Show 12 moreShow less
MoveEnter Open