GitHub Advisoryadvisory · PyPI

GHSA-q78p-g86f-jg6q Bugsink path traversal via event_id in ingestion

HIGH Published 2025-07-29 Modified 2025-07-30 Official page ↗
Aliases
CVE-2025-54433
Ecosystem
PyPI
Packages
bugsink
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2025-07-29

Affected packages

• PyPI bugsink: >= 1.7.0, < 1.7.4 → fixed in 1.7.4 • PyPI bugsink: >= 1.6.0, < 1.6.4 → fixed in 1.6.4 • PyPI bugsink: >= 1.5.0, < 1.5.5 → fixed in 1.5.5 • PyPI bugsink: < 1.4.3 → fixed in 1.4.3

Description

Summary In affected versions, ingestion paths construct file locations directly from untrusted `event_id` input without validation. A specially crafted `event_id` can result in paths outside the intended directory, potentially allowing file overwrite or creation in arbitrary locations. Submitting such input requires access to a valid DSN. While that limits exposure, DSNs are sometimes discoverable—for example, when included in frontend code—and should not be treated as a strong security boundary. Impact A valid DSN holder can craft an `event_id` that causes the ingestion process to write files outside its designated directory. This allows overwriting files accessible to the user running Bugsink. If Bugsink runs in a container, the effect is confined to the container’s filesystem. In non-containerized setups, the overwrite may affect other parts of the system accessible to that user. Mitigation Update to version `1.7.4`, `1.6.4`, `1.5.5` or `1.4.3` , which require `event_id` to be a valid UUID and normalizes it before use in file paths.

Related

Alias · CVE (1)

  • CVE-2025-54433 Bugsink is a self-hosted error tracking service. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References