Every CVE Search/ Get API key

CVE-2026-42052

beets is Vulnerable to XSS

6.0 MediumFix available

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

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
High
Availability
None

Exploit likelihood

0.30%Up 0.3 points since May 5, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.0

beets is Vulnerable to XSS

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
CVE-2026-42052
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-27055 6.0

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
EUVD-2026-27055
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-3gxm-wfjx-m847 6.0

beets has a Cross-site Scripting vulnerability

During code logic analyis, an area that may lead to unintended behavior under specific conditions was discovered.

Overview

  • Verified Version: 80cd21554124da07d17a4f962c7d770a4f70d0f2
  • Vulnerability Type: Stored XSS
  • Affected Location: beetsplug/web/templates/index.html:42
  • Trigger Scenario: Metadata fields such as title, lyrics, or comments are rendered with raw template interpolation and inserted into DOM via .html(...).

Root Cause

The bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM.

Source-to-Sink Chain

  1. Source (attacker-controlled input)
  • Item metadata values (for example title, lyrics, comments) can contain attacker HTML payload.
  1. Data flow
  • Templates in beetsplug/web/templates/index.html:42-46,87-91 render metadata with <%= ... %>.
  • Underscore runtime defines <%= ... %> as raw interpolation (beetsplug/web/static/underscore.js:890-907).
  1. Sink (security-sensitive action)
  • Frontend inserts rendered template output into DOM via $(this.el).html(this.template(this.model.toJSON())); in beetsplug/web/static/beets.js:182,208,220.

Exploitation Preconditions

  1. Victim opens the web UI page that renders attacker-controlled metadata.
  2. Metadata includes executable HTML/JS payload.

Risk

Stored payload executes in the web UI context and can perform actions available to that origin.

Impact

Attacker can run arbitrary JavaScript in the victim browser, exfiltrate viewable data, and perform UI-driven actions as the victim session.

Remediation

  1. Replace raw interpolation <%= ... %> with escaped output <%- ... %> for untrusted fields.
  2. Avoid .html(...) for untrusted template output; use text-safe rendering.
  3. Sanitize metadata values on ingest and before rendering, including attribute contexts.
Record
GHSA-3gxm-wfjx-m847
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/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
Weakness
CWE-79
Updated
2026-11-02
NVD 6.0

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
CVE-2026-42052
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/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
Weakness
CWE-79
Updated
2026-11-02
OSV 6.0

beets is Vulnerable to XSS

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
CVE-2026-42052
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVDEBIAN-CVE-2026-42052 6.0

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
DEBIAN-CVE-2026-42052
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/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
Show 6 moreShow less
OSVGHSA-3gxm-wfjx-m847 6.0

beets has a Cross-site Scripting vulnerability

During code logic analyis, an area that may lead to unintended behavior under specific conditions was discovered.

Overview

  • Verified Version: 80cd21554124da07d17a4f962c7d770a4f70d0f2
  • Vulnerability Type: Stored XSS
  • Affected Location: beetsplug/web/templates/index.html:42
  • Trigger Scenario: Metadata fields such as title, lyrics, or comments are rendered with raw template interpolation and inserted into DOM via .html(...).

Root Cause

The bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM.

Source-to-Sink Chain

  1. Source (attacker-controlled input)
  • Item metadata values (for example title, lyrics, comments) can contain attacker HTML payload.
  1. Data flow
  • Templates in beetsplug/web/templates/index.html:42-46,87-91 render metadata with <%= ... %>.
  • Underscore runtime defines <%= ... %> as raw interpolation (beetsplug/web/static/underscore.js:890-907).
  1. Sink (security-sensitive action)
  • Frontend inserts rendered template output into DOM via $(this.el).html(this.template(this.model.toJSON())); in beetsplug/web/static/beets.js:182,208,220.

Exploitation Preconditions

  1. Victim opens the web UI page that renders attacker-controlled metadata.
  2. Metadata includes executable HTML/JS payload.

Risk

Stored payload executes in the web UI context and can perform actions available to that origin.

Impact

Attacker can run arbitrary JavaScript in the victim browser, exfiltrate viewable data, and perform UI-driven actions as the victim session.

Remediation

  1. Replace raw interpolation <%= ... %> with escaped output <%- ... %> for untrusted fields.
  2. Avoid .html(...) for untrusted template output; use text-safe rendering.
  3. Sanitize metadata values on ingest and before rendering, including attribute contexts.
Record
GHSA-3gxm-wfjx-m847
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/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
Weakness
CWE-79
Updated
2026-11-02
OSVPYSEC-2026-2397 6.0

beets has a Cross-site Scripting vulnerability

During code logic analyis, an area that may lead to unintended behavior under specific conditions was discovered.

Overview

  • Verified Version: 80cd21554124da07d17a4f962c7d770a4f70d0f2
  • Vulnerability Type: Stored XSS
  • Affected Location: beetsplug/web/templates/index.html:42
  • Trigger Scenario: Metadata fields such as title, lyrics, or comments are rendered with raw template interpolation and inserted into DOM via .html(...).

Root Cause

The bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM.

Source-to-Sink Chain

  1. Source (attacker-controlled input)
  • Item metadata values (for example title, lyrics, comments) can contain attacker HTML payload.
  1. Data flow
  • Templates in beetsplug/web/templates/index.html:42-46,87-91 render metadata with <%= ... %>.
  • Underscore runtime defines <%= ... %> as raw interpolation (beetsplug/web/static/underscore.js:890-907).
  1. Sink (security-sensitive action)
  • Frontend inserts rendered template output into DOM via $(this.el).html(this.template(this.model.toJSON())); in beetsplug/web/static/beets.js:182,208,220.

Exploitation Preconditions

  1. Victim opens the web UI page that renders attacker-controlled metadata.
  2. Metadata includes executable HTML/JS payload.

Risk

Stored payload executes in the web UI context and can perform actions available to that origin.

Impact

Attacker can run arbitrary JavaScript in the victim browser, exfiltrate viewable data, and perform UI-driven actions as the victim session.

Remediation

  1. Replace raw interpolation <%= ... %> with escaped output <%- ... %> for untrusted fields.
  2. Avoid .html(...) for untrusted template output; use text-safe rendering.
  3. Sanitize metadata values on ingest and before rendering, including attribute contexts.
Record
PYSEC-2026-2397
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/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
OSVUBUNTU-CVE-2026-42052 6.0

Beets is the media library management system. Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. In this runtime, <%= ... %> is raw insertion and HTML escaping is only performed by <%- ... %>. Rendered output is then inserted with .html(...), allowing attacker-controlled markup to become active DOM. This issue has been patched in version 2.10.0.

Record
UBUNTU-CVE-2026-42052
CVSS 4.0
6.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVopenSUSE-SU-2026:10865-1 No score

beets-2.11.0-1.1 on GA media

These are all security issues fixed in the beets-2.11.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10865-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21383-1 No score

Security update for beets

This update for beets fixes the following issues:

Changes in beets:

  • CVE-2026-42052: Prior to version 2.10.0, the bundled web UI uses Underscore template interpolation mode <%= ... %> for untrusted metadata fields. (boo#1263988)
Record
openSUSE-SU-2026:21383-1
Updated
2026-11-02
OSVUSN-8747-1 No score

beets vulnerability

It was discovered that Beets incorrectly escaped untrusted media metadata in its web interface. An attacker could possibly use this issue to inject arbitrary HTML or execute arbitrary JavaScript code in a user's browser.

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

Affected products

Affected packages

Affected packages
PackageAffectedFixed
beets
PyPI
before 2.10.0
2.10.0
beets
Debian:12
before 1.6.0-4+deb12u1, plus listed versions
1.6.0-4
1.6.0-4+deb12u1
beets
Debian:13
before 2.2.0-3+deb13u1, plus listed versions
2.2.0-3
2.2.0-3+deb13u1
beets
Debian:14
before 2.11.0-1, plus listed versions
2.2.0-32.5.1-12.5.1-22.5.1-32.5.1-42.6.2-12.7.1-12.8.0-1
2.11.0-1
beets
PyPI
before 2.10.0, plus listed versions
1.0.01.0b11.0b101.0b111.0b12
Show 45 moreShow less
1.0b131.0b141.0b151.0b21.0b31.0b41.0b51.0b61.0b71.0b81.0b91.0rc11.0rc21.1.01.2.01.2.11.2.21.3.01.3.11.3.101.3.111.3.121.3.131.3.141.3.151.3.161.3.171.3.181.3.191.3.21.3.31.3.41.3.51.3.61.3.71.3.81.3.91.4.01.4.11.4.21.4.31.4.41.4.51.4.61.4.7
2.10.0
beets
Ubuntu:Pro:16.04:LTS
before 1.3.8+dfsg-2ubuntu0.1~esm1, plus listed versions
1.3.8+dfsg-2
1.3.8+dfsg-2ubuntu0.1~esm1
beets
Ubuntu:Pro:18.04:LTS
before 1.4.6-2ubuntu0.1~esm1, plus listed versions
1.3.19-2.11.4.6-2
1.4.6-2ubuntu0.1~esm1
beets
Ubuntu:Pro:20.04:LTS
before 1.4.9-4ubuntu0.1~esm1, plus listed versions
1.4.7-21.4.7-2ubuntu11.4.9-21.4.9-4
1.4.9-4ubuntu0.1~esm1
beets
Ubuntu:Pro:22.04:LTS
before 1.6.0-1ubuntu0.1~esm1, plus listed versions
1.4.9-71.5.0-11.6.0-1
1.6.0-1ubuntu0.1~esm1
beets
Ubuntu:Pro:24.04:LTS
before 1.6.0-8ubuntu0.1~esm1, plus listed versions
1.6.0-41.6.0-71.6.0-8
1.6.0-8ubuntu0.1~esm1
Show 4 moreShow less
Affected packages
PackageAffectedFixed
beets
Ubuntu:25.10
All versions, plus listed versions
2.2.0-2ubuntu12.2.0-3
None known
beets
Ubuntu:Pro:26.04:LTS
before 2.5.1-4ubuntu0.1~esm1, plus listed versions
2.2.0-32.5.1-4
2.5.1-4ubuntu0.1~esm1
beets
openSUSE:Tumbleweed
before 2.11.0-1.1
2.11.0-1.1
beets
openSUSE:Leap 16.0
before 2.2.0-bp160.2.1
2.2.0-bp160.2.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-42052 is a medium vulnerability (CVSS 6.0) in Beetbox Beets, published April 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. Fixed in beets 2.10.0.

References

Show 8 moreShow less
This page doesn't list everything

Left out here: 20 versions. The JSON record has them.

MoveEnter Open