Skip to main content

Bugsink CVE-2026-47716

| EUVDEUVD-2026-31862 LOW
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-05-26 GitHub_M GHSA-g5vc-q7qc-v939
3.1
CVSS 3.1 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
3.1 LOW
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 08, 2026 - 13:41 vuln.today
Analysis Generated
Jun 08, 2026 - 13:41 vuln.today
Patch available
May 26, 2026 - 18:02 EUVD

DescriptionCVE.org

Bugsink is a self-hosted error tracking tool. Prior to 2.2.0, In affected versions, the issue list view authorizes access through the project in the URL, but applies the requested bulk action to the submitted issue IDs without also requiring those issues to belong to that project. This vulnerability is fixed in 2.2.0.

AnalysisAI

Cross-project issue state modification in Bugsink prior to 2.2.0 allows authenticated users with access to one project to alter the state of issues belonging to other projects if a valid target issue UUID is known. The bulk action endpoint authorizes based on the project in the URL but applies submitted issue IDs without verifying project membership, creating a project-boundary authorization bypass. No active exploitation has been confirmed (not in CISA KEV), no public exploit code has been identified, and the EPSS score of 0.03% (8th percentile) reflects minimal real-world exploitation probability.

Technical ContextAI

The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): the bulk action handler trusts client-submitted issue UUIDs without cross-referencing them against the URL-scoped project. Bugsink is a Django-based Python web application distributed as the pip package 'bugsink'. Its issue list view performs project-level authorization using the URL path, but the bulk state-change logic (resolve, mute, etc.) then operates on any submitted UUID regardless of project membership. CPE cpe:2.3:a:bugsink:bugsink:*:*:*:*:*:*:*:* covers all versions prior to 2.2.0. The fix in 2.2.0 enforces that bulk issue actions and event lookups are scoped to the authorized parent project, closing the object-level authorization gap.

RemediationAI

Upgrade to Bugsink 2.2.0 or later, which scopes bulk issue actions and event lookups to the authorized project, eliminating the boundary bypass. The release is available at https://github.com/bugsink/bugsink/releases/tag/2.2.0 and the security advisory at https://github.com/bugsink/bugsink/security/advisories/GHSA-g5vc-q7qc-v939. If immediate upgrade is not possible, restrict project membership so that users are only added to the specific projects they require - this reduces the attacker's opportunity window since exploitation requires authenticated access to at least one project on the instance. Given that exploitation also requires prior knowledge of a target issue UUID (not discoverable through the application), organizations with strict, minimal project membership assignments face materially reduced risk during a patching window. There are no significant trade-offs to the membership restriction workaround beyond administrative overhead.

Share

CVE-2026-47716 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy