Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege project user
-
ExploitEnumerate foreign task/task-run UIDs
-
ExecutionCall GetTaskRunLog/GetTaskRunSession/PreviewTaskRunRollback with foreign UID
-
ImpactRead other projects' logs, session details, and rollback SQL
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated Bytebase account with permission on at least one project (PR:L); the attacker then supplies foreign task or task-run UIDs to the GetTaskRunLog, GetTaskRunSession, and PreviewTaskRunRollback handlers in the rollout service. In versions before 3.16.0 these handlers (per the PR #19554 diff, also GetTaskRun and BatchCancelTaskRuns) resolved the task run by UID without confirming it belonged to the project/plan in the request path, so cross-project reads succeed. Limiting factors: exploitation is restricted to authenticated users (not anonymous), impact is read-only disclosure of logs/session details/rollback SQL with no write or availability effect, and it is only meaningful on instances hosting more than one project/tenant; sequential integer UIDs make enumeration of foreign objects straightforward. |
| Impact | This is a genuine but moderate-severity authorization flaw (CWE-639, IDOR), not a high-CVSS-but-low-risk artifact. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) scores 5.3 (Medium) and is internally consistent with the description: network-reachable, low attack complexity, and crucially PR:L - an attacker must already be an authenticated, project-scoped Bytebase user. Impact is confidentiality-only and rated Low (VC:L), reflecting read access to task-run execution logs, database session details, and rollback SQL rather than full compromise; there is no integrity or availability impact. No EPSS score was provided and the CVE is NOT in CISA KEV, so there is no evidence of active exploitation. The input references are the upstream GitHub issue, the fix PR/commit, the release, and a VulnCheck advisory - these are remediation/analysis artifacts, not a published working exploit, so no public exploit code is identified. The vuln.today decision label is 'this_month', which aligns with the signals: a real authorization bug worth patching on a normal cadence, not an emergency. The main caveat: exposed data (logs, session details, rollback SQL) can contain sensitive schema or query information across tenant projects, so in multi-tenant Bytebase deployments the practical confidentiality impact could exceed the Low rating for specific environments. |
| Exploit ScenarioDerived | An authenticated Bytebase user who legitimately belongs to one project crafts API requests to GetTaskRunLog, GetTaskRunSession, or PreviewTaskRunRollback supplying a task or task-run UID (a sequential integer) belonging to a different project. Because the pre-3.16.0 handlers resolved the task run by UID without verifying it belonged to the requester's project/plan, the server returns another project's execution logs, DB session details, and rollback SQL. No public working exploit is identified, but the attack requires only a valid low-privilege account and simple UID enumeration (AV:N/AC:L/PR:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Authenticated users in Bytebase before 3.16.0 can read task-run data belonging to projects they hold no permission on, because the rollout service handlers resolved tasks and task runs by UID alone without verifying they belonged to the project and plan named in the request. The practical result is cross-project disclosure of execution logs, database session details, and rollback SQL - a confidentiality-only issue with no write or availability impact, requiring a valid account with permission on at least one project. Bytebase 3.16.0 contains the fix (PR #19554); no public exploit code was identified and the flaw is not in CISA KEV, so this is a moderate-severity, this-month remediation item rather than an emergency, with the caveat that sequential integer UIDs make enumeration of foreign objects straightforward.
RemediationAI
Upgrade to Bytebase 3.16.0, which is the vendor-released fix; the patch (PR #19554, commit bb553e8423b38c826cd7b1da5c7117080cc8705d) adds project/plan scoping to the GetTaskRun, GetTaskRunLog, GetTaskRunSession, PreviewTaskRunRollback and BatchCancelTaskRuns lookups, and the release notes are at https://github.com/bytebase/bytebase/releases/tag/3.16.0 with tracking detail in https://github.com/bytebase/bytebase/issues/19369. Confirm the version string of every running instance and any secondary deployment, since the flaw exists in server-side API handlers and upgrading clients does nothing. Where an immediate upgrade is not possible, the exposure is an authenticated cross-project read, so the practical interim controls are to reduce the number of principals holding project-scoped roles (each one is a potential enumerator of foreign UIDs) and, on multi-tenant instances, to separate untrusted tenants onto distinct Bytebase deployments until 3.16.0 is applied - both carry the trade-off of extra operational overhead and do not remove the underlying missing ownership check. Network-level restriction of the Bytebase API to trusted clients limits who can reach the rollout service but does not help against legitimate low-privilege accounts, which is the actual threat model. Vendor guidance and the decision label point to scheduling this within the current month rather than as an emergency change.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Bytebase is a Go-based database DevOps / schema-change platform whose API is exposed over Connect RPC; request paths carry hierarchical resource names (project / plan / stage / task / task run) that are decoded by a helper, common.GetProjectIDPlanIDStageIDTaskIDTaskRunID. The affected handlers in backend/api/v1/rollout_service.go - GetTaskRunLog, GetTaskRunSession, PreviewTaskRunRollback, and per the upstream patch also GetTaskRun and BatchCancelTaskRuns - decoded those path components but then fetched the underlying object with a store lookup keyed only on the numeric UID (for example s.store.GetTaskByID(ctx, taskUID) or FindTaskRunMessage{UID: &taskRunUID}), discarding the project and plan identifiers that had just been parsed. This is CWE-639 (authorization bypass through user-controlled key), the classic insecure direct object reference pattern: the authorization decision is made on the caller's membership in the project named in the path, while the object actually read is selected by an attacker-supplied key from a different project. UIDs in Bytebase are sequential integers, so an attacker with legitimate access to one project can walk the ID space and harvest logs, session metadata, and rollback statements from any other project on the instance. The fix re-establishes the ownership join in the query itself: the handler now loads the plan scoped by ProjectID and UID, returns 404 if it does not exist, and then fetches the task or task run through ListTasks with TaskFind{ID: &taskUID, PlanID: &planID} or FindTaskRunMessage{UID: &taskRunUID, PlanUID: &planID}, so a UID from a foreign plan fails the lookup rather than the permission check. Note that the CVSS 4.0 vector supplied upstream (5.3, PR:L, VC:L) and the assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) agree on scope and impact; the trigger is a crafted RPC request against the rollout service from an authenticated session, and the affected surface is only meaningful on instances hosting more than one project.
Know when Bytebase gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network API reachable with low complexity, but requires an authenticated project-scoped account (PR:L); impact is read-only cross-project disclosure, so C:L and I:N/A:N, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Bytebase before 3.16.0 contains an authorization bypass vulnerability in GetTaskRunLog, GetTaskRunSession and PreviewTaskRunRollback that allows authenticated users to access other projects' task runs by UID. Attackers with permission on one project can supply foreign task or task run UIDs to read execution logs, database session details, and rollback SQL from other projects.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated MCP tool invocation in DBHub versions prior to 0.22.5 allows a malicious website to reach the HTTP trans
DBHub's `readonly = true` option on its `execute_sql` tool fails to enforce read-only database access in versions prior
The “Bytebase” application does not restrict low privilege user to access admin “projects“ for which an unauthorized use
The “Bytebase” application does not restrict low privilege user to access “admin issues“ for which an unauthorized user
Bytebase before 3.16.0 contains an authorization bypass in the UpdateIssueComment handler that lets authenticated users
EUVD-2026-108124
GHSA-4vfr-m29p-8gpj
NVD
CVE.org
EPSS
Exploit-DB