Skip to main content

Vikunja EUVDEUVD-2026-95993

| CVE-2026-62367 HIGH
Improper Authentication (CWE-287)
2026-10-09 GitHub_M GHSA-xv7q-fvmc-jx96
7.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Control identity at configured issuer
  2. Delivery
    Set email claim to victim address
  3. Exploit
    Submit token to Vikunja OIDC callback
  4. Execution
    Email-fallback links to victim's local account
  5. Impact
    Full session as victim, account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires three specific conditions, all CONFIRMED by the advisory: (1) an administrator has enabled the per-provider emailfallback:true option, which defaults to false - a default install is NOT exploitable; (2) the configured OIDC issuer allows the attacker to assert the victim's unverified email, e.g. a self-service IdP (Keycloak/Authentik/Auth0/Dex with editable email), a mixed federation, or a multi-tenant Entra /common app - iss and aud are pinned, so the attacker controls only the email claim, not the issuer; (3) the victim has a pre-existing LOCAL (issuer=local) account that does NOT have TOTP enabled - the 2.3.0 enforceTOTPIfRequired gate protects TOTP users, and pure-SSO (non-local) accounts are not matched. Limiting factors: non-default configuration, dependence on the issuer's email-assertion policy, and the TOTP/local-account scoping substantially narrow real-world exposure despite the unauthenticated, no-interaction nature of the flaw.

Impact

This is a genuine high-priority flaw for the narrow population running the vulnerable configuration, but not a mass-exploitation emergency. Signals: the vendor CVSS 4.0 vector scores 7.5 with VC:H/VI:H/VA:H (full local-account takeover) and PR:N/UI:N (unauthenticated, no victim interaction), matching the well-understood nOAuth class (cf. Grafana CVE-2023-3128). No EPSS score, no CISA KEV listing, and no weaponized public exploit were provided, so exploitation is not confirmed in the wild. The vendor set AV:L with AT:P; this is questionable and conflicting - the attack is actually driven through Vikunja's network-facing OIDC callback, so the access vector looks network-reachable rather than local, while the real gating factor (attacker must coerce the issuer into emitting a token carrying the victim's unverified email) is better modeled as an attack requirement/complexity than as AV:L. VERIFY AV WITH VENDOR: the description and advisory imply a network login flow, yet the input vector says AV:L. The dominant risk limiter is configuration, not CVSS: the vulnerable path exists only when an admin has turned on the non-default per-provider emailfallback option, the IdP must let an attacker assert an arbitrary email, and the victim account must be a local (issuer=local) non-TOTP account. Net: treat as urgent (patch to 2.4.0) if you run OIDC emailfallback against a self-service or multi-tenant issuer; otherwise default installs are unaffected.

Exploit ScenarioDerived

An organization runs Vikunja with emailfallback enabled against a self-service or multi-tenant IdP (e.g. Keycloak/Authentik/Auth0/Dex with editable email, or a multi-tenant Entra /common app). An attacker controls an identity at that issuer, sets the email claim to a victim's address, and completes the OIDC callback to Vikunja. Because Vikunja links the SSO login to the victim's pre-existing local account using only the email claim - never checking email_verified/xms_edov and never requiring the password - the attacker receives a full session as the victim with no victim interaction. No public exploit code was identified, though the advisory documents the exact vulnerable code path.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 09, 2026

Unauthenticated account takeover in Vikunja 1.0.0 through 2.3.0 lets an attacker who can obtain an OpenID Connect token carrying a victim's email address log in as that victim with a full session and no victim interaction. The flaw only manifests when an administrator has enabled the non-default per-provider emailfallback option, under which Vikunja resolves an unknown (issuer, subject) pair to a pre-existing local username/password account using the email claim alone - it never inspects email_verified (or Microsoft's xms_edov) and never asks for the matched account's password. Practical exposure is narrow but real: it additionally requires an IdP that will assert a victim's unverified email (a self-service or multi-tenant issuer) and a victim local account that has no TOTP, which the 2.3.0 enforceTOTPIfRequired gate protects; there is no public exploit identified at time of analysis, and no KEV/EPSS signal has been provided, so this is a high-priority fix for the specific vulnerable configuration rather than an ongoing mass-exploitation event.

RemediationAI

Upgrade to Vikunja 2.4.0, the vendor-released patch, which gates account linking on a verified email (emailFallbackAllowed := provider.EmailFallback && bool(cl.EmailVerified)) and stops the email-only lookup when the claim is absent or false; the release is published at https://github.com/go-vikunja/vikunja/releases/tag/v2.4.0 and the fix commit is 7854f2729ab72000210b61c25929678fd6901630, with full details in advisory GHSA-xv7q-fvmc-jx96. If upgrading immediately is not possible, the single most effective compensating control is to disable the per-provider emailfallback option (set emailfallback: false) - it defaults to false, so affected deployments must have explicitly enabled it; the trade-off is that legitimate users whose (issuer, subject) identity changed will no longer be transparently relinked to their existing local account and may need administrative re-linking or a fresh account. Enabling TOTP on all local accounts is a partial mitigation, since the 2.3.0 enforceTOTPIfRequired gate blocks the session even if the email lookup succeeds, but it only shields users who actually enroll and does not fix the underlying identity-linking flaw. Administrators can also reduce the attack surface at the identity provider by disabling the emailfallback path for any issuer that permits self-service email edits - Keycloak, Authentik, Auth0, or Dex realms with user-editable email, mixed federations, and multi-tenant Microsoft Entra /common applications - and by tightening that issuer's email-assertion policy so unverified or spoofed addresses are never emitted; the trade-off is loss of federation flexibility and additional IdP-side configuration. None of these workarounds should be treated as equivalent to the 2.4.0 upgrade, which is the only change that validates the email_verified (and Microsoft xms_edov) signal in code.

Affected VersionsENISA

vikunja 1.0.0, < 2.4.0

Affected Packages

go code.vikunja.io/api fix: 2.4.0
euvd vikunja_1_0_0 fix: 2.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Vikunja is a Go-based self-hosted task management platform, and the vulnerable logic lives in pkg/modules/auth/openid/openid.go, part of the go/code.vikunja.io/api module. Identity is normally pinned to the immutable (issuer, subject) pair from the OIDC ID token; when that lookup misses and the per-provider emailfallback flag is true, fallbackSearchUsers appends a synthetic lookup object, &user.User{Issuer: user.IssuerLocal, Email: cl.Email}, which the ORM's Get() resolves by ANDing all non-zero fields into WHERE issuer='local' AND email=?. Because every locally created account is stamped with Issuer="local" in user_create.go, any local account sharing the asserted email address matches, getOrCreateUser returns that row, and the callback mints a session without ever reading the stored password. The claims struct had no email_verified member and no code path consulted one, so the linked identity's provenance was never validated - a textbook improper-authentication failure (CWE-287) in the nOAuth class previously seen in Grafana CVE-2023-3128. Note that the earlier 2.3.0 fix for GHSA-8jvc-mcx6-r4cg added only a TOTP enforcement gate (enforceTOTPIfRequired), not a verified-email gate, leaving non-TOTP users exposed. The 2.4.0 patch introduces a boolish type that tolerantly decodes email_verified whether the IdP emits a JSON boolean or the string forms "true"/"false"/"1"/"0" (defaulting to false when absent), then derives emailFallbackAllowed := provider.EmailFallback && bool(cl.EmailVerified) and requires both the flag and a real, verified, non-empty email before any email-only lookup can run. Affected deployments are identified by CPE cpe:2.3:a:go-vikunja:vikunja:*:*:*:*:*:*:*:*.

Know when Vikunja 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 (GitHub_M) PRIMARY 7.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Unauthenticated network OIDC callback with no victim interaction (AV:N/PR:N/UI:N), but attacker must coerce an issuer token asserting the victim's email plus non-default emailfallback config, so AC:H; full account takeover gives C/I/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
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

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 22:17 EUVD
CVE Published
Oct 09, 2026 - 20:49 cve.org
HIGH 7.5

DescriptionCVE.org

Vikunja is an open-source self-hosted task management platform. In versions 1.0.0 through 2.3.0, when an administrator enables the per-provider emailfallback option on an OpenID Connect provider, Vikunja links an SSO login to a pre-existing local (username+password) account using only the email claim from the IdP. The fallback never checks an email_verified (or Microsoft xms_edov) signal and never requires the matched account's password. An attacker who can obtain a token from the configured issuer carrying a victim's email logs in as that victim with a full session, with no consent or interaction from the victim. Version 2.4.0 fixes the issue.

Technical POC Analysis

CWE-287 (Improper Authentication); the advisory also lists CWE-290 (Authentication Bypass by Spoofing) and CWE-345 (Insufficient Verification of Data Authenticity).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Vikunja versions 1.0.0 through 2.3.0 contain an account-takeover flaw that could allow a third party to obtain a full session as an existing user, exposing that user's projects, tasks, attachments, and any data reachable through the account. Exploitation is confined to deployments where administrators have enabled the non-default per-provider email fallback setting, where the identity provider will assert unverified email addresses, and where the targeted local account lacks TOTP. No public exploit has been identified at time of analysis and no vendor-released patch is available, so this should be treated as a configuration-hardening priority for the specific exposed deployments rather than a broad organizational emergency.

Business Impact: Medium
Compensating Controls

Disable the non-default per-provider emailfallback option in the Vikunja OpenID Connect configuration; enforce TOTP on all local accounts via the enforceTOTPIfRequired gate in 2.3.0; reject or remove identity providers that can assert unverified email addresses (self-service or multi-tenant issuers) and require email_verified=true or xms_edov; delete or migrate unnecessary local username/password accounts to OIDC-only authentication; and alert on sign-ins where a new (issuer, subject) pair binds to an existing account's email address.

Threat Intelligence Overview

EPSS Score
0.1%
Top 100% exploitable
Prevalence
Low
niche self-hosted open-source task manager, limited enterprise footprint
Threat Intel
1
1 source
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.1%
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· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-27575 CRITICAL POC
9.1 Feb 25

Weak password policy in Vikunja task management before 2.0.0 allows users to set trivially guessable passwords. PoC avai

CVE-2026-27616 HIGH POC
7.3 Feb 25

Stored cross-site scripting (XSS) in Vikunja prior to version 2.0.0 allows authenticated attackers to steal authenticati

CVE-2026-27819 HIGH POC
7.2 Feb 25

Vikunja before version 2.0.0 contains a path traversal vulnerability in its backup restoration function that fails to va

CVE-2026-27116 MEDIUM POC
6.1 Feb 25

Vikunja is an open-source self-hosted task management platform. [CVSS 6.1 MEDIUM]

CVE-2026-28268 CRITICAL
9.8 Feb 27

Business logic vulnerability in Vikunja task management platform before 2.1.0 allows incomplete resource cleanup, potent

CVE-2026-68582 CRITICAL POC
9.3 Aug 02

Cross-tenant information disclosure in the self-hosted task manager Vikunja (0.24.0 through 2.3.0) lets a holder of any

CVE-2026-56765 CRITICAL
9.3 Jul 10

Instance-wide data breach in Vikunja before 2.2.1 lets remote attackers exfiltrate and destroy every file attachment acr

CVE-2026-91973 HIGH POC
8.7 Sep 15

Vikunja instances before 2.6.0 expose CalDAV BasicAuth endpoints (/dav, /.well-known, and /feeds) that are not covered b

CVE-2026-91972 HIGH POC
8.7 Sep 15

Vikunja versions before 2.6.0 ship authentication endpoints under /api/v2 (login, register, password-reset, and OAuth to

CVE-2026-91985 HIGH POC
8.7 Sep 15

Vikunja prior to 2.6.0 leaks the secret hash that backs a project's link shares through its single-share read endpoint,

CVE-2026-68581 HIGH POC
8.6 Aug 02

Principal type confusion in Vikunja (versions 0.22.0-2.3.0) allows an authenticated low-privilege attacker to fully cont

CVE-2026-57458 HIGH
8.1 Oct 09

Privilege escalation in Vikunja 2.3.0 allows a user who holds a narrowly scoped API token (permissions {"oauth":["author

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