Severity by source
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
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.
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
Lifecycle Timeline
6DescriptionCVE.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.jsonendpoints 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!
Articles & Coverage 1
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.
An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10
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.
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
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
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
The Ruby SAML library is for implementing the client side of a SAML authorization. Rated critical severity (CVSS 9.8), t
A hardcoded password was set for accounts registered using an OmniAuth provider (e.g. Rated critical severity (CVSS 9.8)
An issue has been discovered in GitLab CE/EE affecting all versions starting from 12.10 before 14.6.5, all versions star
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
An issue has been discovered in GitLab CE/EE affecting all versions starting from 13.7.9 before 13.8.7, all versions sta
An issue was discovered in GitLab Omnibus 7.4 through 12.2.1. Rated critical severity (CVSS 9.8), this vulnerability is
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
Same weakness CWE-285 – Improper Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38076
GHSA-6p54-fw2f-q7gf