Cyber Resilience

CVE-2026-30920

Access Control in Hackerbay Oneuptime ≤ 10.0.19

Public PoCAccess Control
Published
10 March 2026
Modified
12 March 2026
Patch / advisory
CVSS Score v3.1 8.6
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
EPSS Score 0.0020 10th percentile
Risk Priority 62 floored blend · peak EPSS

Summary

CVE-2026-30920 is a high-severity Insufficient Verification of Data Authenticity (CWE-345) vulnerability in Hackerbay Oneuptime. Its CVSS base score is 8.6 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Mark-of-the-Web Bypass (T1553.005); ranked at the 10th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-25 (Reference Monitor) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-30920 is a vulnerability in OneUptime, a solution for monitoring and managing online services, affecting versions prior to 10.0.19. The issue lies in OneUptime's GitHub App callback, which trusts attacker-controlled state and installation_id values to update Project.gitHubAppInstallationId with isRoot: true without validating the caller's authorization for the target project. This allows overwriting another project's GitHub App installation binding. Related GitHub endpoints also lack effective authorization, enabling the use of a valid installation ID to enumerate repositories and create CodeRepository records in an arbitrary project. The vulnerability carries a CVSS score of 8.6 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L) and maps to CWEs 345, 639, and 862.

Unauthenticated attackers can exploit this remotely with low attack complexity and no user interaction required. By controlling the state and installation_id parameters in the callback, they can overwrite GitHub App installation bindings for projects they do not own, potentially disrupting service integrations. Additionally, using a valid installation ID on poorly authorized endpoints, attackers can enumerate repositories and inject CodeRepository records into arbitrary projects, leading to unauthorized data creation and exposure within OneUptime instances.

The vulnerability is addressed in OneUptime version 10.0.19. Security practitioners should upgrade to this version for remediation. Further details on the fix and mitigation are available in the GitHub security advisory at https://github.com/OneUptime/oneuptime/security/advisories/GHSA-656w-6f6c-m9r6.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

OneUptime is a solution for monitoring and managing online services. Prior to 10.0.19, OneUptime's GitHub App callback trusts attacker-controlled state and installation_id values and updates Project.gitHubAppInstallationId with isRoot: true without validating that the caller is authorized for the target project.…

more

This allows an attacker to overwrite another project's GitHub App installation binding. Related GitHub endpoints also lack effective authorization, so a valid installation ID can be used to enumerate repositories and create CodeRepository records in an arbitrary project. This vulnerability is fixed in 10.0.19.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1553.005 Mark-of-the-Web Bypass Defense Impairment
Adversaries may abuse specific file formats to subvert Mark-of-the-Web (MOTW) controls.
T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1195 Supply Chain Compromise Initial Access
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.001 Compromise Software Dependencies and Development Tools Initial Access
Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.002 Compromise Software Supply Chain Initial Access
Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-2538Shared CWE-639, CWE-862
CVE-2025-1667Shared CWE-639, CWE-862
CVE-2024-13719Shared CWE-639, CWE-862
CVE-2024-4341Shared CWE-639, CWE-862
CVE-2024-1744Shared CWE-639, CWE-862
CVE-2023-6504Shared CWE-639, CWE-862
CVE-2023-3869Shared CWE-639, CWE-862
CVE-2023-3998Shared CWE-639, CWE-862
CVE-2024-2543Shared CWE-639, CWE-862
CVE-2024-3305Shared CWE-639, CWE-862

Affected Assets

hackerbay
oneuptime
≤ 10.0.19

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 13 hardening rules · 5 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V3.5.5

Mitigating Controls (NIST 800-53 r5) AI

Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.

Explicit requirement to protect session authenticity structurally prevents the weakness for communications.

Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.

AC-25 requires a tamperproof, always-invoked reference monitor that ensures authorization checks cannot be omitted.

Integrity verification tools detect (but do not stop) the acceptance of data lacking authenticity.

Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 full match
prevents

Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.

PR.IR-01 mostly match
prevents

Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.

RC.RP-05 mostly match
degrades

CWE-345 directly impairs RC.RP-05's verification of restored-asset integrity/authenticity, largely defeating the outcome while still leaving other restoration-confirmation steps partially viable.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect missing or weak data authenticity verification.

prevents

Information access restriction explicitly enforces that users may only retrieve data they are authorized to see, directly addressing user-controlled key bypass.

prevents

Access control policy directly requires enforcement of authorization rules that prevent unauthorized access via manipulated keys.

prevents

Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.

mitigates

Segregating the approval of access rights from their implementation provides an independent check that reduces the impact of missing authorization checks in the resulting system configuration.

finds

By requiring competent outsiders to verify that every function enforces the need-to-know principle, the control lowers the likelihood that missing authorization checks persist undetected.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (4 rules)
  • V-248574 YUM must be configured to prevent the installation of patches, service packs, device drivers, or OL 8 system components that have not been digitally signed using a certificate that is recognized and approved by the organization. prevents CWE-345
  • V-248575 OL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-345
  • V-248581 OL 8 must require users to provide a password for privilege escalation. prevents CWE-862
Oracle Linux 9 (1 rule)
  • V-271525 OL 9 must have GPG signature verification enabled for all software repositories. prevents CWE-345
RHEL 7 (4 rules)
  • V-204447 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-345
  • V-204448 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-345
  • V-251704 The Red Hat Enterprise Linux operating system must not be configured to bypass password requirements for privilege escalation. prevents CWE-862
RHEL 8 (2 rules)
  • V-230264 RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-345
  • V-230265 RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-345
RHEL 9 (1 rule)
  • V-257822 RHEL 9 must have GPG signature verification enabled for all software repositories. prevents CWE-345

References