CVE-2023-47480
High · 8.4CVSS
8.4
EPSS
0.2%
Published
Sep 20, 2024
CISA due date
—
Cloudanix analysis
A local user on a computer running an older version of this audio and graphics tool can gain full control of the program and anything it can reach.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Privilege Escalation
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Local privilege escalation via abuse of the set*id() function allowing an unauthenticated local process to obtain elevated privileges.
Why it matters to the business
Attackers who already have a foothold on a system can obtain full control of the affected multimedia application and any data or resources it can access, increasing the blast radius of an initial compromise.
How an attack unfolds
An attacker with local access to a system running the vulnerable Pure Data version invokes or triggers the set*id() function in a way that elevates their privileges without authentication.
How to fix it
Upgrade Pure Data to version 0.54-1 or commit 0b5e467b8728b3ed56e1a8ee5b367ce78e7e6e5d. If maddy is present, ensure it is at least version 0.5.2.
How to confirm the fix worked
Confirm the installed Pure Data binary or source matches a fixed version or commit; run the application under a non-root account and verify that privilege-escalation attempts via set*id() are rejected.
Typical attack path
- Obtain local access to a host running Pure Data 0.54-0
- Identify or craft input that reaches the vulnerable set*id() code path
- Execute the function to escalate from unprivileged to higher-privileged context
- Leverage the new privileges to access files, processes, or devices previously restricted
How to detect it
Review process execution logs, auditd records, and application startup logs for unexpected privilege changes or invocations of set*id() originating from Pure Data binaries; correlate with file-access anomalies after Pure Data execution.
What your security team should do
- Prioritize upgrade of all Pure Data installations to the fixed release within the next patch cycle
- Inventory hosts running Pure Data and restrict local user access where possible
- Add Pure Data version checks to configuration-management and vulnerability-scanning pipelines
The record
An issue in Pure Data 0.54-0 and fixed in 0.54-1 allows a local attacker to escalate privileges via the set*id () function.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | puredata | 0 | 0.51.4-1+deb11u1 |
| Debian:12 | puredata | 0 | No fix |
| Debian:13 | puredata | 0 | 0.54.1+ds-1 |
| Ubuntu:16.04:LTS | puredata | 0 | No fix |
| Ubuntu:18.04:LTS | puredata | 0 | No fix |
| Ubuntu:20.04:LTS | puredata | 0 | No fix |
| Ubuntu:22.04:LTS | puredata | 0 | No fix |
| Ubuntu:24.04:LTS | puredata | 0 | 0.54.1+ds-4build3 |
| Ubuntu:Pro:16.04:LTS | puredata | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | puredata | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | puredata | 0 | No fix |
Related vulnerabilities
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-252
- CVE-2026-110353 HAProxy 3.2 before 3.4.6 allows a remote unauthenticated attacker to cause a denial of… CWE-252
- CVE-2026-106436 The BSON encoder in the MongoDB PHP Driver does not check some return values after a… CWE-252
- CVE-2026-86141 xmlregexp in libxml2 before 2.15.4 has a NULL pointer dereference in xmlRegNewParserCtxt… CWE-252
- CVE-2026-19534 undici's WebSocket client crashes the whole Node.js process during the opening handshake… CWE-252
- CVE-2026-85649 (Holloway) Chew, Kean Ho's Actualizer v1.2.0 and earlier contains a fail-open password… CWE-252
- CVE-2026-14957 In FIPS mode, Libreswan's add_decoded_cert() function calls CERT_ExtractPublicKey() and… CWE-252
- CVE-2026-78699 Unchecked Return Value vulnerability in ash-project ash_postgres allows a user who can… CWE-252