Skip to main content

Bytebase EUVDEUVD-2026-108124

| CVE-2026-115322 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-22 VulnCheck GHSA-4vfr-m29p-8gpj
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege project user
  2. Exploit
    Enumerate foreign task/task-run UIDs
  3. Execution
    Call GetTaskRunLog/GetTaskRunSession/PreviewTaskRunRollback with foreign UID
  4. Impact
    Read 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

bytebase 0 <3.16.0

Affected Packages

euvd bytebase fix: 3.16.0

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular open-source database DevOps/schema-change tool, common but not ubiquitous
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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