Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed meta.sr.ht instance
-
DeliveryFetch CSRF token from /login
-
ExploitPOST credentials to /register/step2
-
ExecutionInvoke unchecked RegisterAccount GraphQL mutation
-
ImpactUnauthorized account created
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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 | The decisive precondition is that the instance must have public registration DISABLED - that is the exact control this flaw bypasses; on instances with open registration the bug grants nothing new. The target must run an affected meta.sr.ht version (0.56.11 up to but not including 0.89.0) with the /register/step2 endpoint and the RegisterAccount GraphQL mutation reachable over the network. No authentication is required (PR:N) and no user interaction is needed (UI:N); the attacker only needs to obtain a CSRF token from /login first. The main limiting factors are the narrow impact (only unauthorized account creation, VI:L, with no confidentiality or availability effect) and that the instance must be network-reachable by the attacker. |
| Impact | This is a genuine but bounded-impact authorization-bypass flaw, not a critical emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms it is remotely reachable over the network, needs no special attack requirements, and requires no privileges or user interaction - so an unauthenticated remote attacker can trigger it against an exposed instance. However, the impact is deliberately scored narrow: VI:L with VC:N and VA:N, meaning only limited integrity impact (unauthorized account creation) and no confidentiality or availability loss, which is why the base score lands at 6.9 (medium). No EPSS score was provided, so exploitation probability cannot be quantified, and the CVE is NOT listed in CISA KEV, so there is no confirmed active exploitation. A public write-up describing the exact bypass technique exists (the arusekk.pl blog), and the fix commits are public, which lowers the barrier to reproduction. The vuln.today decision label is 'this_month', consistent with a real-but-not-urgent priority: worth patching on a normal cycle rather than as an emergency. The key limiting signal is that this only matters where public registration has been intentionally disabled - on instances that allow open registration the bypass grants nothing the attacker could not already do. |
| Exploit ScenarioDerived | An operator runs a private SourceHut instance with public registration disabled to keep it invite-only. A remote unauthenticated attacker fetches a CSRF token from /login and POSTs credentials directly to /register/step2, which calls the unchecked RegisterAccount GraphQL mutation and creates an account despite registration being off. The attack technique is publicly documented in a referenced blog post, so reproduction is straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Missing authorization in SourceHut's account service meta.sr.ht (versions 0.56.11 through 0.88.9) lets unauthenticated remote attackers create accounts on instances that have public registration disabled - the very control the flaw bypasses. An attacker first fetches a CSRF token from /login, then POSTs credentials to /register/step2, which reaches the RegisterAccount GraphQL mutation without the registration-enabled check, yielding unauthorized account creation with no confidentiality or availability impact. Scoring is split: the vendor/NVD-style CVSS 4.0 vector gives 6.9, while the assessed CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N (low integrity impact only); a public technical writeup of the bypass exists, but it is not verified as working exploit code, no CISA KEV entry or active exploitation is indicated, and priority is 'this_month'.
RemediationAI
Upgrade meta.sr.ht to 0.89.0 or later, which is the first release containing the authorization check on the registration path; the two upstream fix commits (1ea24685a76f6456245d0bc7fe6accf6231c4044 and e471ffe75bb6ef11366e46c3b721dd0278f746b5) can be reviewed or backported if pinning to 0.89.0 is not immediately possible, per https://git.sr.ht/~sircmpwn/meta.sr.ht/refs/0.89.0. Until the upgrade is applied, operators of instances with public registration disabled can restrict reachability of the registration endpoints at the reverse proxy so that /register/step2 is not externally reachable while /login remains available for legitimate users - this is a compensating control rather than a vendor-stated fix, and its trade-off is that users who are meant to complete an administrator-approved signup will lose that web path and must be onboarded another way; blocking it also does not address the underlying unchecked RegisterAccount mutation if the GraphQL API is exposed directly. After patching, review account inventories for registrations created outside the intended invitation/approval process on affected instances. No vendor-released patch was identified for any version branch other than 0.89.0, and the priority signal for this CVE is 'this_month' rather than emergency action.
Affected VersionsENISA
Affected Packages
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
meta.sr.ht is the identity/account-management component of the SourceHut (sr.ht) suite, written in Python and exposing both a web blueprint layer (metasrht/blueprints/auth.py) and a GraphQL API. The root cause maps to CWE-862 (Missing Authorization): the multi-step registration flow gates earlier steps on whether public registration is enabled, but the /register/step2 handler invokes the RegisterAccount GraphQL mutation without re-checking that configuration flag, so the policy is enforced in the UI path only and not at the mutation that actually creates the account. The practical attack chain is a CSRF-token bootstrap - GET /login to obtain a token - followed by a POST of attacker-chosen credentials to /register/step2. The vulnerability is version-bounded (0.56.11 up to but not including 0.89.0; the 0.88.9 tree still shows the unguarded code at metasrht/blueprints/auth.py#L121) and is fixed by commits 1ea24685a76f6456245d0bc7fe6accf6231c4044 and e471ffe75bb6ef11366e46c3b721dd0278f746b5, released as 0.89.0. The trigger is a plain HTTP request sequence; the flaw grants no read access, no privilege escalation beyond a normal new account, and no availability effect, which is why the assessed impact sits at VI:L only.
Know when the next one hits your stack
- 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:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Remote unauthenticated with no interaction (AV:N/AC:L/PR:N/UI:N); only account creation gives limited integrity impact (I:L) with no confidentiality or availability loss and no scope change.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
SourceHut meta.sr.ht 0.56.11 before 0.89.0 contains an authorization bypass vulnerability that allows unauthenticated attackers to register accounts when public registration is disabled. Attackers can obtain a CSRF token from /login and POST credentials to /register/step2, which invokes the unchecked GraphQL RegisterAccount mutation to create accounts.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-116586
GHSA-j8p6-f6h2-jc6f
NVD
CVE.org
Exploit-DB