Open-Source Security Intelligence

Know every vulnerability
before it knows you.

DevGuard continuously monitors your dependencies and alerts you when CVEs like this one affect your stack — with real-time threat intelligence built for developers.

Search

GHSA-564f-wx8x-878h

MediumCVSS 5.3 / 10
Published Mar 20, 2026·Last modified Mar 23, 2026
Affected Components(0)

No affected components available

Description

Summary

The DELETE /api/v1/projects/:project/background endpoint checks CanRead permission instead of CanUpdate, allowing any user with read-only access to a project to permanently delete its background image.

Details

The RemoveProjectBackground handler (pkg/modules/background/handler/background.go) reuses checkProjectBackgroundRights, a helper originally written for the read-only GetProjectBackground endpoint. This helper only verifies CanRead permission. In contrast, the handler for setting a background (setBackgroundPreparations) correctly checks CanUpdate.

As a result, destructive write operations (deleting the background file from storage and clearing the project's background_file_id and background_blur_hash fields) are gated behind a read-only permission check.

Impact

A user with read-only access to a project — via direct sharing, team membership, link share tokens with read permission, or read-scoped API tokens — can permanently delete the project's background image. The background file is removed from storage and cannot be recovered. This constitutes unauthorized data destruction.

Reproduction

  1. User A creates a project and sets a background image.
  2. User A shares the project with User B with read-only permission.
  3. User B sends: DELETE /api/v1/projects/{project_id}/background with a valid auth token.
  4. The request succeeds. The background image is permanently deleted.

References

  • pkg/modules/background/handler/background.goRemoveProjectBackground (line 416), checkProjectBackgroundRights (line 304), setBackgroundPreparations (line 106)
  • pkg/routes/routes.go line 665 — route registration

Credits

This vulnerability was found using GitHub Security Lab Taskflows.

Risk Scores
Base Score
5.3

The vulnerability can be exploited over the network without needing physical access. It is easy for an attacker to exploit this vulnerability. An attacker needs basic access or low-level privileges. No user interaction is needed for the attacker to exploit this vulnerability.

Threat Intelligence
1.3

Limited exploitation activity has been observed. Close monitoring and planned remediation are recommended.

EPSS
N/A

Probability that this vulnerability will be exploited in the wild within the next 30 days.

Exploit
Not available

We did not find any exploit available. Neither in GitHub repositories nor in the Exploit-Database.

Related Vulnerabilities
  • CVE-2026-33312
    Alias
  • EUVD-2026-13708
    Alias

Browse More

Scan your project

Continuously monitor your dependencies and get alerted when vulnerabilities like this one affect your stack.

Checkout DevGuard