Skip to main content

DevGuard CVE-2026-48089

| EUVDEUVD-2026-38076 HIGH
Improper Authorization (CWE-285)
2026-06-11 https://github.com/l3montree-dev/devguard GHSA-6p54-fw2f-q7gf
7.1
CVSS 4.0 · Vendor: https://github.com/l3montree-dev/devguard
Share

Severity by source

Vendor (https://github.com/l3montree-dev/devguard) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.7 HIGH

Network-reachable API, any low-privileged instance account suffices (PR:L), no user interaction; integrity impact extends to downstream SBOM consumers (S:C), no confidentiality or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N

Primary rating from Vendor (https://github.com/l3montree-dev/devguard).

CVSS VectorVendor: https://github.com/l3montree-dev/devguard

CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

6
Analysis Updated
Jun 19, 2026 - 21:28 vuln.today
v3 (cvss_changed)
Analysis Updated
Jun 19, 2026 - 21:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 19, 2026 - 21:22 vuln.today
cvss_changed
CVSS changed
Jun 19, 2026 - 21:22 NVD
7.1 (HIGH)
Source Code Evidence Fetched
Jun 11, 2026 - 20:51 vuln.today
Analysis Generated
Jun 11, 2026 - 20:51 vuln.today

DescriptionCVE.org

Impact

On a DevGuard API instance with one or more public assets, any authenticated user - including users from a different organization with no membership or role in the affected org/project - can create, update, reapply, and delete VEX rules on those public assets. The same flaw affects the other vulnerability-triage write endpoints exposed under a public asset, including:

  • VEX rule create / update / reapply / delete
  • Dependency-vuln event creation (accept / reject / mitigate decisions), batch event creation, vuln sync, and mitigation
  • License risk creation
  • External reference writes
  • Artifact creation and license refresh

The attacker needs a valid account on the instance, but no membership in the victim organization, project, or asset is required.

Security impact is primarily to integrity of the vulnerability picture of public assets: an attacker can mark CVEs as false-positive, silence vulnerabilities, attach misleading justifications, or delete legitimate triage rules - undermining the trustworthiness of every consumer of the affected asset's VEX/SBOM output. Because public assets are by definition consumed by third parties (downstream users, supply-chain consumers, the published vex.json/sbom.json), the blast radius extends to anyone relying on that data.

Private assets are not affected by this advisory: the public-read exemption that enables the bypass does not apply to them, and access remains correctly gated by organization/project membership. The private setting is only relevant in DevGuard itself - there is no impact given when you have an open-source project on e.g. GitLab/GitHub and a private DevGuard asset connected.

Patches

Version v1.4.2contains a patch. Users should upgrade to the patched release as soon as it is available.

Workarounds

If developers cannot upgrade their applications immediately:

  • They should make affected assets non-public. In the asset settings, switch visibility from public to private. This removes the public-read exemption in the access-control middleware and restores correct authorization on all write endpoints for that asset. Downstream consumers that previously relied on the public vex.json / sbom.json endpoints will need to be granted explicit access or must receive an exported file version until the patched release is deployed.

Resources

Fixed commit: https://github.com/l3montree-dev/devguard/commit/1be88ec1309a5dc0566e35a23bdc4ea3ecd11417

Credit

DeevGuard thanks @philipflohr (awesome-it.de) for finding and responsibly reporting this vulnerability!

AnalysisAI

Improper authorization in DevGuard versions prior to v1.4.2 allows any authenticated user on the instance - including users with no membership in the target organization, project, or asset - to perform write operations on vulnerability-triage endpoints of any public asset. The flaw lets attackers create, modify, or delete VEX rules, dependency-vulnerability events, license risks, external references, and artifacts, corrupting the integrity of published vex.json/sbom.json output consumed by downstream supply-chain users. No public exploit identified at time of analysis, and EPSS probability is very low (0.04%, 11th percentile), reflecting the niche audience but not the integrity blast radius.

Technical ContextAI

DevGuard is an open-source Go-based DevSecOps platform (github.com/l3montree-dev/devguard) that ingests SBOMs, tracks dependency vulnerabilities, and publishes machine-readable VEX (Vulnerability Exploitability eXchange) statements at vex.json/sbom.json endpoints. To support unauthenticated downstream consumption of these documents on public assets, the access-control middleware grants a public-read exemption. The CWE-285 (Improper Authorization) root cause is that this exemption was applied too broadly: write-route handlers under the public-asset path inherited the public exemption instead of being gated by organization/project membership. The fix (commit 1be88ec) introduces a DisallowPublicRequests middleware and an assetScopedRBAC factory, attached to mutating routes (POST/PUT/DELETE on artifacts, VEX rules, dependency-vuln events, license refresh, external references) so writes require proper RBAC even when the asset is public.

RemediationAI

Vendor-released patch: DevGuard v1.4.2 - upgrade immediately by pulling the tagged release from https://github.com/l3montree-dev/devguard and redeploying; the fix (commit 1be88ec1309a5dc0566e35a23bdc4ea3ecd11417) wires a new DisallowPublicRequests middleware and an asset-scoped RBAC check onto the previously exempt write routes. If upgrading is not immediately possible, change the visibility of every affected asset from public to private in the asset settings, which removes the public-read exemption and restores membership-based authorization on the write endpoints; the trade-off is that downstream consumers who previously fetched vex.json/sbom.json anonymously must either be granted explicit access or be supplied with exported file snapshots until the patch is deployed. Full advisory at https://github.com/l3montree-dev/devguard/security/advisories/GHSA-6p54-fw2f-q7gf.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2024-45409 CRITICAL POC
9.8 Sep 10

The Ruby SAML library is for implementing the client side of a SAML authorization. Rated critical severity (CVSS 9.8), t

CVE-2022-1162 CRITICAL POC
9.8 Apr 04

A hardcoded password was set for accounts registered using an OmniAuth provider (e.g. Rated critical severity (CVSS 9.8)

CVE-2022-0735 CRITICAL POC
9.8 Mar 28

An issue has been discovered in GitLab CE/EE affecting all versions starting from 12.10 before 14.6.5, all versions star

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2021-22203 CRITICAL POC
9.8 Apr 02

An issue has been discovered in GitLab CE/EE affecting all versions starting from 13.7.9 before 13.8.7, all versions sta

CVE-2019-15741 CRITICAL POC
9.8 Sep 16

An issue was discovered in GitLab Omnibus 7.4 through 12.2.1. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2019-6960 CRITICAL POC
9.8 Sep 09

An issue was discovered in GitLab Community and Enterprise Edition 9.x, 10.x, and 11.x before 11.5.8, 11.6.x before 11.6

Share

CVE-2026-48089 vulnerability details – vuln.today

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