Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthorize app client ID with attacker Reddit account
-
DeliveryCraft infinity://localhost redirect with attacker code and constant state
-
ExploitDeliver deep link to victim
-
ExecutionExported activity validates hardcoded OAuth state
-
ImpactVictim's posts and messages occur on attacker account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to open an attacker-crafted infinity://localhost deep link (a custom-scheme redirect) on a device running Infinity for Reddit version 8.3.4 or earlier, where the exported LoginChromeCustomTabActivity redirect handler validates the OAuth 'state' against a hardcoded constant in APIUtils.java instead of a per-session random value. No attacker authentication against the victim is needed (PR:N), and default configurations are vulnerable, but the attack is limited by the required user interaction (UI:P) - the victim must follow/open the malicious link - and by the need for the vulnerable app to be installed. The impact is also bounded: the victim is logged into the attacker's account rather than the attacker taking over the victim's account. |
| Impact | This is a login/OAuth CSRF (CWE-352) rated CVSS 4.0 5.3 (medium). The vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N shows a network-reachable, low-complexity attack needing no attacker privileges, but it is gated by passive user interaction (UI:P) - the victim must open an attacker-supplied deep link. The confidentiality and integrity impacts are both Low and availability is None, matching a session-fixation-style account swap rather than device or data compromise. On exploitation signals: no CISA KEV listing is present (not actively exploited per that source), no EPSS probability was supplied so widespread-exploitation likelihood cannot be quantified, and no confirmed working exploit code is listed - though VulnCheck published a detailed technical advisory describing the full chain. The vuln.today Decision label is 'this_month', not act_now/emergency, consistent with a real-but-moderate issue: the mechanism is fully disclosed and trivial to reproduce, yet it requires user interaction, targets a niche consumer Android app, and yields only limited impact (victim actions land on the attacker's account rather than the attacker seizing the victim's account). Net: a legitimate, credible flaw worth scheduled remediation, not a drop-everything emergency. Missing data to note explicitly: no EPSS score and no KEV entry were provided, and no fixed version is identified in the available data. |
| Exploit ScenarioDerived | An attacker first authorizes the app's OAuth client ID against their own Reddit account to obtain a valid authorization code, then sends the victim a crafted infinity://localhost redirect containing that code plus the app's hardcoded, constant OAuth state value. When the victim opens the link on a device with Infinity for Reddit (≤8.3.4) installed, the exported LoginChromeCustomTabActivity accepts it because it only checks the hardcoded state, silently logging the victim into the attacker's account so their posts, messages, and browsing occur there. VulnCheck's advisory documents this chain; no confirmed working exploit code is listed in the available data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
Login CSRF in Infinity for Reddit through version 8.3.4 lets an attacker silently log a victim into the attacker's own Reddit account. The exported LoginChromeCustomTabActivity validates the OAuth 'state' parameter against a hardcoded constant in APIUtils.java rather than a per-session random value, so an attacker can authorize the app's client ID on their own Reddit account and deliver an infinity://localhost redirect containing the attacker's authorization code plus the constant state value. A victim who opens that crafted deep link then browses, posts, and reads messages under the attacker's account, which can expose content the victim subsequently submits or manipulate their view of the service. No public exploit code or active exploitation is confirmed in the supplied data; severity is medium (CVSS 4.0 5.3) and exploitation requires the victim to open the crafted link on a device with the vulnerable app installed.
RemediationAI
No vendor-released patch or fixed version is identified in the available data; affected users and maintainers should check https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/1975 and the repository releases (https://github.com/Docile-Alligator/Infinity-For-Reddit) for an update that replaces the hardcoded OAuth state constant in APIUtils.java with a per-session cryptographically random value and validates it in LoginChromeCustomTabActivity before acting on the returned authorization code. The proper code fix is to bind the state to the individual login attempt and reject any redirect whose state does not match, and to constrain the exported activity so it only accepts redirects the app itself initiated. Until such a release exists, the concrete compensating control available to users is to avoid opening infinity://localhost links or untrusted deep links while the app is installed, and to inspect which Reddit account the app is signed into after any unexpected login or redirect; the trade-off is that this relies on user vigilance rather than technical enforcement, since the exported activity cannot be disabled without rebuilding the app. Users who need a hard guarantee should remove the app or use a maintained client, accepting the loss of Infinity's feature set. Maintainers compiling from source can apply the state-randomization change directly, with the side effect that stale or externally initiated redirects will then correctly fail to complete login.
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
Infinity for Reddit is a third-party Android client for Reddit that authenticates users through Reddit's OAuth 2.0 flow. The app registers a custom URI scheme handler (infinity://localhost) and exports LoginChromeCustomTabActivity to receive the OAuth redirect from the Chrome Custom Tab used during login. According to the referenced source (LoginChromeCustomTabActivity.java lines 194-205 and APIUtils.java line 43 in tag v8.3.4), the activity compares the returned 'state' parameter against a hardcoded constant defined in APIUtils instead of against a value randomly generated per login attempt. That breaks the core anti-CSRF purpose of the OAuth state parameter (CWE-352): an attacker can complete the authorization step against Reddit with their own credentials and the app's client ID, then craft an infinity://localhost redirect carrying the attacker's authorization code and the known constant state. Because AndroidManifest.xml (lines 75-92) exports the activity, any app or browser on the device - or a link delivered by any channel - can invoke it. The result is a session-fixation/login-CSRF condition: the victim's client is bound to the attacker's Reddit session, so subsequent activity is attributed to the attacker's account. Confidentiality and integrity impacts are limited (VC:L/VI:L) because the attacker does not gain access to the victim's Reddit account, but the victim's posts, messages, and browsing may be performed under or observed through the attacker-controlled account.
Know when Infinity For Reddit 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:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-delivered deep link with no attacker privileges (PR:N) but mandatory victim interaction (UI:R); limited confidentiality/integrity as victim activity lands on the attacker account, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Infinity for Reddit through 8.3.4 contains a login cross-site request forgery vulnerability that allows attackers to log victims into an attacker-controlled account because the exported LoginChromeCustomTabActivity redirect handler checks a hardcoded OAuth state value. Attackers can authorize the app's client ID with their own Reddit account, then deliver an infinity://localhost redirect containing their code and the constant state, causing the victim's posts, messages, and browsing to occur on the attacker's account.
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.
EUVD-2026-109386
GHSA-cm7p-vqx2-9527
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB