Shiori
CVE-2026-61463
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege Shiori account
-
DeliverySend PATCH /api/v1/auth/account with owner:true
-
ExploitOwner flag persisted without authz check
-
ExecutionRe-authenticate to mint admin JWT
-
ImpactFull administrative system access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated Shiori account of any privilege level (PR:L) and network reachability to the API; the attacker sends a PATCH request to the /api/v1/auth/account update endpoint including the owner field set to true, then re-authenticates to obtain the elevated JWT. The limiting factor is that the attacker must first possess a non-owner account, so instances that disable self-registration and only provision accounts for fully trusted users sharply reduce realistic risk; single-user private deployments are not exposed to external attackers. No specific non-default feature or platform is required - the vulnerable endpoint is part of the standard account-management functionality. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:L/UI:N, VC:H/VI:H/VA:H) reflects a network-reachable, low-complexity attack needing only low privileges and no user interaction, yielding full confidentiality, integrity and availability impact on the vulnerable system. The single meaningful barrier is PR:L: an attacker must already hold a valid (non-owner) account, so exposure hinges on whether the Shiori instance permits self-registration or shares accounts among semi-trusted users; a single-user private instance is effectively not at risk from external actors. No EPSS score, KEV listing, or public POC was provided, so there is no evidence of active or automated exploitation - this is a high-severity but not currently-exploited-in-the-wild issue. The vulnerability class is trivially exploitable once an account exists (a one-line JSON body), so any multi-user or publicly-registerable deployment should treat it as an immediate priority despite the absence of exploitation telemetry. |
| Exploit ScenarioDerived | An attacker registers or is granted an ordinary Shiori account on a shared or internet-exposed instance, then sends a single PATCH request to the account-update endpoint with the JSON body {"owner": true}. The server persists the change without an authorization check, so the attacker logs out and back in, receives an admin JWT, and gains full control over all bookmarks, users, and system settings. No public POC was provided, but the attack is a trivial one-line request given AV:N/AC:L and no required user interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 13, 2026
Vertical privilege escalation in Shiori (go-shiori), the self-hosted Go bookmark manager, lets any authenticated low-privilege user promote themselves to administrator. By sending a crafted PATCH request to the /api/v1/auth/account update endpoint with owner: true - a field that lacked an authorization check - the user flips their own owner flag, then re-authenticates to receive an admin JWT granting full system access. Disclosed by VulnCheck with a vendor fix committed upstream; no public exploit identified at time of analysis and it is not listed in CISA KEV.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - upgrade to a Shiori build that includes commit 6c8a7dbc11b131609bfda736b14d61c51f9027b2, which enforces that only existing owners may change the owner flag, and consult the VulnCheck advisory (https://www.vulncheck.com/advisories/shiori-authenticated-privilege-escalation-via-patch-api-v1-auth-account) and issue https://github.com/go-shiori/shiori/issues/1196 for release status. Because an exact tagged release was not confirmed in the available data, verify the running binary actually contains the guard before relying on it. Until patched, disable open/self-service account registration so untrusted users cannot obtain the low-privilege foothold the attack requires, restrict network access to the Shiori instance to trusted users via a reverse proxy or VPN, and audit the accounts table for any non-owner accounts that have unexpectedly gained the owner flag - noting these controls limit who can reach the endpoint but do not fix the underlying missing authorization check.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Shiori is a lightweight, self-hosted bookmark/read-later application written in Go (cpe:2.3:a:go-shiori:shiori). The flaw lives in HandleUpdateLoggedAccount in internal/http/handlers/api/v1/auth.go, the self-service account-update handler. It mapped a client-supplied owner boolean directly onto the account without verifying the caller's existing privilege level, a textbook CWE-269 (Improper Privilege Management) mass-assignment / missing-authorization issue. Because Shiori issues JWTs whose claims reflect the stored account role, mutating the persisted owner flag and re-logging-in yields a token minted with administrator authority. The upstream patch (commit 6c8a7dbc) adds a guard: if payload.Owner != nil && !account.IsOwner() the request is rejected with HTTP 403, restricting owner-flag changes to existing owners.
Know when Shiori 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:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network endpoint with low complexity requires only an existing low-privilege account (PR:L) and no interaction; escalation to admin grants full confidentiality, integrity and availability, scope unchanged within the app.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Shiori contains a privilege escalation vulnerability in the account update endpoint that allows authenticated users to modify the owner field without authorization checks. Attackers can escalate to administrator by submitting a crafted PATCH request with owner: true, then re-authenticate to obtain an admin JWT token granting full system access.
Executive ViewAI
Shiori, a self-hosted bookmark management application, contains a privilege escalation vulnerability allowing any authenticated user to gain administrative control without authorization checks. This insider threat means legitimate users can compromise system integrity and access sensitive data, requiring immediate patching to prevent unauthorized administrative access.
Apply vendor patch.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Affected Products (CPE)CVE.org
Server-Side Request Forgery in Shiori's bookmark download function allows any authenticated user to force the server to
Privilege persistence in Shiori, the self-hosted bookmarks manager (go-shiori/shiori), allows a deleted or demoted owner
A lack of rate limiting in the login page of shiori v1.7.4 and below allows attackers to bypass authentication via a bru
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB