CVE-2026-30920

OneUptime has broken access control in GitHub App installation flow that allows unauthorized project binding

State
Published
Severity
8.6 High
Published
Mar 9, 2026
Updated
Mar 10, 2026
Reserved
Mar 7, 2026

Read the record on cve.org

Description

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. 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.

Scores

CVSSScoreVectorSource
3.18.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:LGitHub_M

Weaknesses

  • CWE-345 Insufficient Verification of Data Authenticity
  • CWE-639 Authorization Bypass Through User-Controlled Key
  • CWE-862 Missing Authorization

Affected Products

ProductVersions
oneuptimeOneUptime
  • < 10.0.19Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.