<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 10 Oct 2026 17:50:02 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-62367</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-62367</link>
      <description>&lt;p&gt;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&amp;#39;s password. An attacker who can obtain a token from the configured issuer carrying a victim&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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&amp;#39;s password. An attacker who can obtain a token from the configured issuer carrying a victim&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-62367</guid>
    </item>
    <item>
      <title>GHSA-xv7q-fvmc-jx96 — Vikunja: OIDC email-fallback account linking ignores email_verified, enabling local-account takeover</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-xv7q-fvmc-jx96</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: code.vikunja.io/api&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;With the per-provider OIDC `emailfallback` option enabled, Vikunja links an SSO login to a pre-existing **local** (username+password) account using only the `email` claim — no `email_verified` (or Microsoft `xms_edov`) check and no password check, on the unauthenticated callback. An attacker who can make the configured issuer emit a token bearing a victim&amp;#39;s email logs in as that victim with a full session and no victim interaction (the nOAuth / Grafana CVE-2023-3128 class). The 2.3.0 fix for GHSA-8jvc-mcx6-r4cg added a TOTP gate, not an `email_verified` gate, so users without TOTP remain exposed.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;References are `pkg/modules/auth/openid/openid.go` at HEAD. Identity is first resolved on the immutable `(issuer, subject)` pair (`openid.go:428`). On a subject miss with `emailfallback` on, `fallbackSearchUsers` adds an email-only lookup against local accounts:&lt;/p&gt;
&lt;p&gt;```go
// openid.go:413
searches = append(searches, &amp;amp;user.User{Issuer: user.IssuerLocal, Email: cl.Email})
```&lt;/p&gt;
&lt;p&gt;`getUser` resolves this via `s.Get()`, which ANDs non-zero fields -&amp;gt; `WHERE issuer=&amp;#39;local&amp;#39; AND email=?`. Local users always have `Issuer=&amp;#34;local&amp;#34;` (`user_create.go:38`), so the lookup matches any local account by email alone; `getOrCreateUser` returns it and the caller mints a session — the password is never read. The `claims` struct has no `email_verified` field (`openid.go:80`) and `getClaims` never consults one; a repo-wide grep for `email_verified`/`xms_edov` returns nothing. The code al…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: code.vikunja.io/api&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;With the per-provider OIDC `emailfallback` option enabled, Vikunja links an SSO login to a pre-existing **local** (username+password) account using only the `email` claim — no `email_verified` (or Microsoft `xms_edov`) check and no password check, on the unauthenticated callback. An attacker who can make the configured issuer emit a token bearing a victim&amp;#39;s email logs in as that victim with a full session and no victim interaction (the nOAuth / Grafana CVE-2023-3128 class). The 2.3.0 fix for GHSA-8jvc-mcx6-r4cg added a TOTP gate, not an `email_verified` gate, so users without TOTP remain exposed.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;References are `pkg/modules/auth/openid/openid.go` at HEAD. Identity is first resolved on the immutable `(issuer, subject)` pair (`openid.go:428`). On a subject miss with `emailfallback` on, `fallbackSearchUsers` adds an email-only lookup against local accounts:&lt;/p&gt;
&lt;p&gt;```go
// openid.go:413
searches = append(searches, &amp;amp;user.User{Issuer: user.IssuerLocal, Email: cl.Email})
```&lt;/p&gt;
&lt;p&gt;`getUser` resolves this via `s.Get()`, which ANDs non-zero fields -&amp;gt; `WHERE issuer=&amp;#39;local&amp;#39; AND email=?`. Local users always have `Issuer=&amp;#34;local&amp;#34;` (`user_create.go:38`), so the lookup matches any local account by email alone; `getOrCreateUser` returns it and the caller mints a session — the password is never read. The `claims` struct has no `email_verified` field (`openid.go:80`) and `getClaims` never consults one; a repo-wide grep for `email_verified`/`xms_edov` returns nothing. The code al…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-xv7q-fvmc-jx96</guid>
    </item>
  </channel>
</rss>
