Skip to main content

Shiori CVE-2026-61463

HIGH
Improper Privilege Management (CWE-269)
2026-07-13 VulnCheck
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege Shiori account
  2. Delivery
    Send PATCH /api/v1/auth/account with owner:true
  3. Exploit
    Owner flag persisted without authz check
  4. Execution
    Re-authenticate to mint admin JWT
  5. Impact
    Full 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche self-hosted open-source bookmark manager, limited enterprise footprint
Social Media
1
Sightings
Data Quality
5 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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

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

cpe:2.3:a:go-shiori:shiori:*:*:*:*:*:*:*:*

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