Vulnerability · Published May 15, 2025 · Assigned by GitHub_M

CVE-2025-47928Spotipy repo vulnerable to secrets exfiltration via `pull_request_target`

Critical 9.1

In plain English

A critical-severity security flaw in spotipy from spotipy-dev. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code.

Severity (CVSS 3.1)9.1Critical
Exploit odds (30 days)0.6%top 49.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack tooling1Public PoC

Official description

Spotipy is a Python library for the Spotify Web API. As of commit 4f5759dbfb4506c7b6280572a4db1aabc1ac778d, using `pull_request_target` on `.github/workflows/integration_tests.yml` followed by the checking out the head.sha of a forked PR can be exploited by attackers, since untrusted code can be executed having full access to secrets (from the base repo). By exploiting the vulnerability is possible to exfiltrate `GITHUB_TOKEN` and secrets `SPOTIPY_CLIENT_ID`, `SPOTIPY_CLIENT_SECRET`. In particular `GITHUB_TOKEN` which can be used to completely overtake the repo since the token has content write privileges. The `pull_request_target` in GitHub Actions is a major security concern—especially in public repositories—because it executes untrusted code from a PR, but with the context of the base repository, including access to its secrets. Commit 9dfb7177b8d7bb98a5a6014f8e6436812a47576f reverted the change that caused the issue.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Ubuntu:25.10spotipyno fix listedUBUNTU-CVE-2025-47928
Ubuntu:26.04:LTSspotipyno fix listedUBUNTU-CVE-2025-47928
Ubuntu:26.10spotipyno fix listedUBUNTU-CVE-2025-47928

Affected products (as reported)

VendorProductVersions
spotipy-dev spotipy = 4f5759dbfb4506c7b6280572a4db1aabc1ac778d

Weakness: CWE-488 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

References