Skip to main content

Gitify EUVDEUVD-2026-103512

| CVE-2026-112050 LOW
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-18 VulnCheck GHSA-gh5g-g72j-mxwx
2.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Attacker starts OAuth login with own account
  2. Delivery
    Craft gitify://oauth?code= callback link
  3. Exploit
    Lure victim to open link mid-login
  4. Execution
    Unvalidated callback binds client to attacker
  5. Impact
    Victim sees attacker-controlled notifications

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 a Gitify user to have an in-flight GitHub OAuth login pending AND to open an attacker-supplied gitify://oauth?code=<attacker_authorization_code> deep link during that window, which Gitify accepts because performGitHubWebOAuth() omits any OAuth state check. Limiting factors: it is a timing-dependent race against a pending login (reflected as AT:P), it needs the victim to act on the attacker's link (UI:P passive interaction), and impact is bounded to low integrity - the victim's client is bound to the attacker's account and shows attacker-controlled notifications, with no read access to the victim's data or account takeover. No non-default configuration is needed; vulnerable behavior is present in default builds before v7.10.0.

Impact

This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N) scores only 2.3, and the metrics explain why: although the attacker is unauthenticated (PR:N) and the vector is network-reachable (AV:N), successful exploitation carries an attack requirement (AT:P) and requires passive victim interaction (UI:P) - specifically, the attacker must land a malicious callback during a victim's already-pending login. Impact is confined to low integrity (VI:L) with no confidentiality or availability consequence: the attacker binds the victim's client to the attacker's GitHub account, so the victim sees the attacker's notifications rather than losing their own data. No EPSS score, KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or mass-scanning interest; this is a classic low-CVSS, low-real-risk client-side CSRF rather than an urgent threat. The only firm risk-reducing fact is that a patch (v7.10.0) is confirmed available.

Exploit ScenarioDerived

While a Gitify user has a GitHub OAuth login in progress, an attacker lures them into opening a gitify://oauth?code= deep link carrying the attacker's own authorization code. Because performGitHubWebOAuth() never validates an OAuth state parameter, Gitify accepts the attacker's code and binds the client to the attacker's GitHub account, causing the victim's Gitify to display attacker-controlled notifications as if they were the victim's own. No public exploit was identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 18, 2026

Gitify desktop builds prior to 7.10.0 perform the GitHub web OAuth flow without generating or validating an OAuth state value, so an attacker who supplies their own authorization code via a crafted gitify://oauth?code=... deep link can bind a victim's Gitify client to the attacker's GitHub account. The attacker then controls the notifications the victim sees, but gains no access to the victim's data and no account takeover - impact is limited to low integrity. Exploitation is unauthenticated (PR:N) but requires a race against an already-pending login (AT:P) and victim interaction with the attacker's link (UI:P). No public exploit code or CISA KEV entry was identified at time of analysis, and the issue is assessed as genuinely low priority.

RemediationAI

Upgrade Gitify to 7.10.0 or later (vendor-released patch: 7.10.0), which generates a CSPRNG-backed OAuth state per login attempt and refuses any gitify://oauth callback whose state does not match, and also discards unparseable callback URLs. Because the update is delivered through the normal release channel, verify the installed version in the app's about screen and prefer the official release artifact from https://github.com/gitify-app/gitify/releases/tag/v7.10.0. If upgrading is delayed, the practical compensating control is operational: avoid opening gitify:// links from untrusted sources (email, chat, issue comments) and avoid having a GitHub login in progress while doing so - the attack only lands during that narrow pending-login window, and there is no configuration flag that disables the vulnerable path, so the trade-off is user discipline rather than a technical mitigation. Administrators who deploy endpoint policy can also consider blocking or requiring confirmation for the gitify:// URL scheme handler at the OS level on managed macOS/Windows fleets (e.g. LaunchServices scheme restrictions or Windows protocol-handler policy), at the cost of breaking legitimate deep links such as notification actions.

Affected VersionsENISA

gitify 0 <7.10.0

Affected Packages

euvd gitify fix: 7.10.0

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

Gitify is an Electron-based desktop client that displays GitHub notifications. Its login flow (src/renderer/utils/forges/github/flows.ts, performGitHubWebOAuth()) opens GitHub's OAuth authorization endpoint in the system browser and registers a handler for the custom gitify:// protocol/redirect URI to receive the authorization code back in the renderer process. OAuth 2.0 defines the state parameter specifically to defend against this class of attack: a per-attempt, unguessable, single-use value that the client sends to the authorization server and then verifies on the redirect. Prior to 7.10.0 Gitify omitted both steps, making the flow a textbook CWE-352 (cross-site request forgery) login-CSRF: the callback handler accepted any gitify://oauth?code= URI, so an attacker could deliver their own freshly issued authorization code during a victim's in-flight login and have the client exchange it, ending up authenticated as the attacker. The vendor fix (commit 10235b24) adds src/renderer/utils/auth/state.ts with generateOAuthState() returning crypto.randomUUID() - 122 bits of CSPRNG randomness - attaches it to the authorization URL, rejects callbacks whose state does not match (logging a warning and leaving the pending login intact), and additionally ignores unparseable callback URLs such as gitify://[ instead of tearing down the login attempt.

Know when Gitify 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 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.1 LOW

Unauthenticated network CSRF (PR:N, AV:N) but requires victim interaction (UI:R) and a race against a pending login (AC:H); only integrity is affected and only slightly (I:L), with no C or A impact.

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

DescriptionCVE.org

Gitify before 7.10.0 contains a login cross-site request forgery vulnerability that allows remote attackers to bind a victim's client to their account because performGitHubWebOAuth() omits OAuth state validation. Attackers can get a gitify://oauth?code= link with their own authorization code opened during a victim's pending login, causing Gitify to display attacker-controlled notifications as the victim's own.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche open-source GitHub-notification desktop app used by developers
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 LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
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