Every CVE Search/ Get API key

CVE-2026-115754

serialize-javascript 7.0.1 before 7.1.3 XSS via unescaped </script in function body

2.3 LowFix available

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Passive

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
None

Exploit likelihood

0.23%Down 0.1 points since Oct 24, 2026
90%50%10%1%

What each source reports

CVE List Score used 2.3

serialize-javascript 7.0.1 before 7.1.3 XSS via unescaped </script in function body

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
CVE-2026-115754
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
4.7 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-108967 2.3

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
EUVD-2026-108967
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-cvqw-cqhx-qmxc 2.3

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that...

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
GHSA-cvqw-cqhx-qmxc
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
4.7 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 2.3

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
CVE-2026-115754
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
4.7 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 2.3

serialize-javascript 7.0.1 before 7.1.3 XSS via unescaped </script in function body

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
CVE-2026-115754
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-06
OSVCVE-2026-115897 2.1

Serialize JavaScript: Cross-site scripting (XSS) via unescaped </script at the end of a serialized function body

Serialize JavaScript serializes JavaScript values to a superset of JSON that includes regular expressions and functions. Prior to 7.1.3, the function-source escaping logic does not neutralize a bare closing-script prefix when attacker-influenced function source text ends exactly at that prefix. Because each function body is escaped independently, a delimiter supplied by surrounding serialized output can terminate an HTML script element, and a later serialized value supplies injected markup that becomes a live element in the page. Exploitation requires control of a serialized function's source text, such as through a spoofed toString(). This issue is fixed in version 7.1.3.

Record
CVE-2026-115897
CVSS 4.0
2.1 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-06
Show 13 moreShow less
OSVDEBIAN-CVE-2026-115754 2.3

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
DEBIAN-CVE-2026-115754
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVGHSA-m5mm-p8h7-m29v 2.1

Serialize JavaScript: Cross-site scripting (XSS) via unescaped </script at the end of a serialized function body

Impact

serialize-javascript escapes its output so it is safe to embed inside a <script> element. Before 7.1.3 that guarantee did not hold for a function value whose source ends in a bare </script.

Each function body is escaped on its own, and a bare </script was only neutralized when followed — within the same body — by a character the HTML tokenizer treats as ending the tag name (TAB, LF, FF, CR, SPACE, / or >). A body ending exactly at </script has no following character, so it was emitted unescaped. The delimiter is then supplied by the surrounding output (for example the newline the space option emits after the value), and a later serialized value can supply the closing > followed by markup:

const serialize = require('serialize-javascript');
function f() {} f.toString = () => 'function f(){ return 1 }//</script';
function g() {} g.toString = () => 'function g(x){ return x } > <img src=x onerror=alert(1)>';
serialize({ a: { f }, g }, { space: 2 });
// {
//   "a": {
//     "f": function f(){ return 1 }//</script
//   },
//   "g": function g(x){ return x } > <img src=x onerror=alert(1)>
// }

Embedded in a <script> element, the script ends at the injected tag and the <img> becomes a live element in the page.

Exploitation requires an attacker to control the source text of a serialized function, in practice through a spoofed toString(). Real functions always end in }, so ordinary function values are not affected, and non-function values (including strings containing </script) are escaped correctly.

Patches

Fixed in 7.1.3 (#235). The bare </script form is now also matched at the end of the function body, so it is escaped regardless of what follows it in the output.

Workarounds

Upgrade to 7.1.3. If you cannot upgrade, do not serialize function values whose source text (or toString()) can be influenced by an attacker.

Credits

Reported by ha_kr25 via the Yahoo bug bounty program.

Record
GHSA-m5mm-p8h7-m29v
CVSS 4.0
2.1 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVUBUNTU-CVE-2026-115754 2.3

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
UBUNTU-CVE-2026-115754
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
4.7 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVAZL-111401 No score

CVE-2026-115754 affecting package python-tensorboard 2.16.2-6

serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

Record
AZL-111401
Updated
2026-11-05
OSVCLSA-2026-1793098798 No score

TuxCare security update for serialize-javascript (2 CVEs)

TuxCare rebuilt serialize-javascript to address 2 CVEs. Fixed in 7.1.2-tuxcare.1.

Record
CLSA-2026-1793098798
Updated
2026-11-02
OSVCLSA-2026-1793099227 No score

TuxCare security update for serialize-javascript (2 CVEs)

TuxCare rebuilt serialize-javascript to address 2 CVEs. Fixed in 6.0.2-tuxcare.3.

Record
CLSA-2026-1793099227
Updated
2026-11-02
OSVCLSA-2026-1793125688 No score

TuxCare security update for serialize-javascript (2 CVEs)

TuxCare rebuilt serialize-javascript to address 2 CVEs. Fixed in 7.1.1-tuxcare.2.

Record
CLSA-2026-1793125688
Updated
2026-11-02
OSVCLSA-2026-1793291203 No score

TuxCare security update for serialize-javascript (1 CVE)

TuxCare rebuilt serialize-javascript to address 1 CVE. Fixed in 1.9.1-tuxcare.3.

Record
CLSA-2026-1793291203
Updated
2026-11-02
OSVCLSA-2026-1793292719 No score

TuxCare security update for serialize-javascript (1 CVE)

TuxCare rebuilt serialize-javascript to address 1 CVE. Fixed in 5.0.1-tuxcare.4.

Record
CLSA-2026-1793292719
Updated
2026-11-02
OSVCLSA-2026-1793293147 No score

TuxCare security update for serialize-javascript (1 CVE)

TuxCare rebuilt serialize-javascript to address 1 CVE. Fixed in 3.1.0-tuxcare.3.

Record
CLSA-2026-1793293147
Updated
2026-11-02
OSVCLSA-2026-1793293234 No score

TuxCare security update for serialize-javascript (1 CVE)

TuxCare rebuilt serialize-javascript to address 1 CVE. Fixed in 4.0.0-tuxcare.2.

Record
CLSA-2026-1793293234
Updated
2026-11-02
OSVCLSA-2026-1793293533 No score

TuxCare security update for serialize-javascript (1 CVE)

TuxCare rebuilt serialize-javascript to address 1 CVE. Fixed in 2.1.2-tuxcare.3.

Record
CLSA-2026-1793293533
Updated
2026-11-02
OSVopenSUSE-SU-2026:12424-1 No score

agama-web-ui-25+475.275dd4727-56.1 on GA media

These are all security issues fixed in the agama-web-ui-25+475.275dd4727-56.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12424-1
Updated
2026-11-06

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python-tensorboard
Azure Linux:3
through 2.16.2-6 None known
serialize-javascript
TuxCare:npm
From an advisory covering 2 CVEs
7.1.2-tuxcare.0 up to 7.1.2-tuxcare.1, plus listed versions
7.1.2
7.1.2-tuxcare.1
serialize-javascript
TuxCare:npm
From an advisory covering 2 CVEs
6.0.2-tuxcare.0 up to 6.0.2-tuxcare.3, plus listed versions
6.0.26.0.2-tuxcare.16.0.2-tuxcare.2
6.0.2-tuxcare.3
serialize-javascript
TuxCare:npm
From an advisory covering 2 CVEs
7.1.1-tuxcare.0 up to 7.1.1-tuxcare.2, plus listed versions
7.1.17.1.1-tuxcare.1
7.1.1-tuxcare.2
serialize-javascript
TuxCare:npm
1.9.1-tuxcare.0 up to 1.9.1-tuxcare.3, plus listed versions
1.9.11.9.1-tuxcare.11.9.1-tuxcare.2
1.9.1-tuxcare.3
serialize-javascript
TuxCare:npm
5.0.1-tuxcare.0 up to 5.0.1-tuxcare.4, plus listed versions
5.0.15.0.1-tuxcare.15.0.1-tuxcare.25.0.1-tuxcare.3
5.0.1-tuxcare.4
serialize-javascript
TuxCare:npm
3.1.0-tuxcare.0 up to 3.1.0-tuxcare.3, plus listed versions
3.1.03.1.0-tuxcare.13.1.0-tuxcare.2
3.1.0-tuxcare.3
serialize-javascript
TuxCare:npm
4.0.0-tuxcare.0 up to 4.0.0-tuxcare.2, plus listed versions
4.0.04.0.0-tuxcare.1
4.0.0-tuxcare.2
serialize-javascript
TuxCare:npm
2.1.2-tuxcare.0 up to 2.1.2-tuxcare.3, plus listed versions
2.1.22.1.2-tuxcare.12.1.2-tuxcare.2
2.1.2-tuxcare.3
node-serialize-javascript
Debian:12
All versions, plus listed versions
6.0.0-26.0.0-2+deb12u16.0.1-16.0.2-17.0.4+~5.0.4-1
Show 4 moreShow less
7.0.5+~5.0.4-17.0.7+~5.0.4-17.1.2+~5.0.4-17.1.4+~5.0.4-1
None known
Show 8 moreShow less
Affected packages
PackageAffectedFixed
node-serialize-javascript
Debian:13
All versions, plus listed versions
6.0.2-17.0.4+~5.0.4-17.0.5+~5.0.4-17.0.7+~5.0.4-17.1.2+~5.0.4-17.1.4+~5.0.4-1
None known
node-serialize-javascript
Debian:14
before 7.1.4+~5.0.4-1, plus listed versions
6.0.2-17.0.4+~5.0.4-17.0.5+~5.0.4-17.0.7+~5.0.4-17.1.2+~5.0.4-1
7.1.4+~5.0.4-1
serialize-javascript
npm
From an advisory covering 2 CVEs
before 7.1.3
7.1.3
node-serialize-javascript
Ubuntu:22.04:LTS
All versions, plus listed versions
5.0.1-26.0.0-1
None known
node-serialize-javascript
Ubuntu:24.04:LTS
All versions, plus listed versions
6.0.1-1
None known
node-serialize-javascript
Ubuntu:26.10
All versions, plus listed versions
7.0.4+~5.0.4-17.0.5+~5.0.4-17.0.7+~5.0.4-1
None known
node-serialize-javascript
Ubuntu:26.04:LTS
All versions, plus listed versions
6.0.2-17.0.4+~5.0.4-1
None known
agama-web-ui
openSUSE:Tumbleweed
From an advisory covering 11 CVEs
before 25+475.275dd4727-56.1
25+475.275dd4727-56.1

History

History
RecordedChangedSources
affected, aliases, referencesOSV
affected
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

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

In short

CVE-2026-115754 is a low vulnerability (CVSS 2.3) in Yahoo Serialize-javascript, published October 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.23%, the 14th percentile. Fixed in serialize-javascript 1.9.1-tuxcare.3.

References

Show 19 moreShow less
MoveEnter Open