Skip to main content

Infinity for Reddit EUVDEUVD-2026-109386

| CVE-2026-116072 MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-25 VulnCheck GHSA-cm7p-vqx2-9527
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authorize app client ID with attacker Reddit account
  2. Delivery
    Craft infinity://localhost redirect with attacker code and constant state
  3. Exploit
    Deliver deep link to victim
  4. Execution
    Exported activity validates hardcoded OAuth state
  5. Impact
    Victim'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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

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

Infinity for Reddit 0 ≤8.3.4

Affected Packages

euvd infinity_for_reddit no fix

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

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

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

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche open-source consumer Android Reddit client, no enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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