ZITADEL: MFA bypass via session reuse in Login V2
Exploiteerbaarheid: geen exploit bekend. Blootstelling: niet internet-facing / geen bekende blootstelling. Gemeentelijke relevantie: geen match met de gemeentelijke context. Impact: alleen technische impact. Bronvertrouwen: middel.
Scorecomponenten
geen exploit bekend
niet internet-facing / geen bekende blootstelling
geen match met de gemeentelijke context
alleen technische impact
beperkt bevestigd
geen mitigatie bekend
Geen automatische bestuurlijke escalatie — operationeel op te volgen.
Prioriteit: monitoren
Aanbevolen reactietijd: monitoren
Monitoren (45/100) — monitoren. Bepalend: technische ernst (75/100) en gemeentelijke relevantie (62/100). Houd dit in de gaten; directe actie is nu niet nodig. Deze prioritering is regelgebaseerd en navolgbaar; weeg de aannames en onzekerheden mee voor de eigen gemeentelijke omgeving.
hoog — De technische ernst is hoog: succesvol misbruik kan systemen of gegevens direct compromitteren.
laag — Er zijn geen concrete aanwijzingen voor misbruik.
verhoogd — Dit kan gemeenten raken, afhankelijk van de eigen omgeving en leveranciers.
midden — Plan beoordeling en opvolging in; directe actie is nu niet vereist.
Positieve factoren
De categorie 'identity_attack' verhoogt de technische ernst.
Bron: Categorisering door de verrijkingspijplijn
De dreiging raakt identity-, Microsoft 365- of Entra-technologie die vrijwel elke gemeente gebruikt.
Bron: Technologieherkenning in titel, samenvatting en labels
De dreiging raakt een leverancier of de toeleveringsketen; gemeenten zijn sterk afhankelijk van externe leveranciers.
Bron: Technologieherkenning in titel, samenvatting en labels
Negatieve factoren
De zekerheid is 'likely'; een onbevestigd signaal verlaagt de urgentie tot het is geverifieerd.
Bron: Zekerheidsinschatting van de radar
Aannames
Onzekerheden
Deze prioritering is regelgebaseerd en navolgbaar. Een CISO kan deze onderbouwing gebruiken richting directie of ICT-management; stem de opvolging af op de eigen gemeentelijke omgeving.
8 concrete acties verdeeld over 6 rol(len). Aanbevolen reactietijd: monitoren.
Taken voor CISO
Laat vaststellen of de getroffen component of het proces binnen de gemeente in gebruik is.
Bewijs vereist: Bevestiging in/uit gebruik door ICT-beheer.
Wijs per actie een eigenaar en deadline toe en bewaak dat de acties worden afgerond.
CISO
Laat vaststellen of de getroffen component of het proces binnen de gemeente in gebruik is.
Bewijs vereist: Bevestiging in/uit gebruik door ICT-beheer.
Wijs per actie een eigenaar en deadline toe en bewaak dat de acties worden afgerond.
ISO / patchmanagement
Controleer of een patch of mitigatie beschikbaar is en bepaal de deadline voor opvolging.
Bewijs vereist: Patch- of mitigatieoverzicht met versienummers.
SOC
Let op verdachte aanmeldingen, tokenmisbruik en wijzigingen in rechten.
ICT-beheer
Breng in kaart welke systemen, applicaties of accounts de kwetsbare component bevatten.
Bewijs vereist: Lijst van geraakte systemen uit de CMDB of inventaris.
Controleer MFA, conditional access en rechten op de getroffen identity- of Microsoft 365-omgeving.
Bewijs vereist: Vastgelegde configuratiecontrole.
Functioneel beheer
Controleer of de geraakte applicatie of koppeling extra aandacht nodig heeft.
Proceseigenaar
Beoordeel wat de dreiging betekent voor de continuiteit van het geraakte proces.
De acties zijn regelgebaseerd gegenereerd. Stem ze af op de eigen gemeentelijke omgeving en wijs per actie een eigenaar en deadline toe.
Relevante logbronnen
MITRE ATT&CK — tactieken
MITRE ATT&CK — technieken
Huntingvragen
KQL-huntingqueries (Microsoft Sentinel)
Verdachte Entra ID-aanmeldingen
Toont aanmeldingen met een verhoogd risico of een at-risk-status in Microsoft Entra ID.
// Verdachte Entra ID-aanmeldingen (verhoogd risico)
SigninLogs
| where TimeGenerated > ago(7d)
| where RiskLevelDuringSignIn in ("high", "medium")
or RiskState == "atRisk"
| project TimeGenerated, UserPrincipalName, IPAddress, Location,
AppDisplayName, RiskLevelDuringSignIn, ResultType
| order by TimeGenerated descFalse positives: Reizende medewerkers en VPN-uitgangspunten leveren legitiem verhoogd risico op.
Aanmeldingen vanuit onbekende landen
Toont geslaagde aanmeldingen vanuit landen buiten het verwachte werkgebied.
// Aanmeldingen vanuit onverwachte landen
let bekendeLanden = dynamic(["NL", "BE", "DE"]);
SigninLogs
| where TimeGenerated > ago(7d)
| where ResultType == 0
| where isnotempty(Location) and Location !in (bekendeLanden)
| summarize Aanmeldingen = count() by UserPrincipalName, Location
| order by Aanmeldingen descFalse positives: Vakanties, grensregio's en cloud-egress kunnen onverwachte landen tonen.
Impossible travel-risicodetecties
Toont aanmeldingen die Entra ID Protection markeert als 'impossible travel' of onbekende kenmerken - mogelijk overgenomen sessies.
// Impossible travel-risicodetecties (Entra ID Protection)
AADUserRiskEvents
| where TimeGenerated > ago(7d)
| where RiskEventType in ("impossibleTravel", "unfamiliarFeatures",
"anonymizedIPAddress")
| project TimeGenerated, UserPrincipalName, RiskEventType, RiskLevel,
IpAddress, Location
| order by TimeGenerated descFalse positives: VPN's, mobiele netwerken en cloud-egress kunnen een legitieme aanmelding als onmogelijke reis laten ogen.
Pieken in mislukte aanmeldingen
Toont bronnen met veel mislukte aanmeldingen - mogelijk password spraying of brute force.
// Pieken in mislukte aanmeldingen (mogelijk password spraying)
SigninLogs
| where TimeGenerated > ago(1d)
| where ResultType != 0
| summarize Mislukt = count(), Accounts = dcount(UserPrincipalName)
by IPAddress, bin(TimeGenerated, 1h)
| where Mislukt > 20 or Accounts > 5
| order by Mislukt descFalse positives: Verlopen wachtwoorden en verkeerd geconfigureerde clients leveren legitieme pieken op.
Nieuwe admin consent grants
Toont nieuw verleende beheerderstoestemmingen aan applicaties (mogelijk illicit consent).
// Nieuwe admin consent grants voor applicaties
AuditLogs
| where TimeGenerated > ago(7d)
| where OperationName has "Consent to application"
| extend Applicatie = tostring(TargetResources[0].displayName)
| project TimeGenerated, InitiatedBy, Applicatie, OperationName, Result
| order by TimeGenerated descFalse positives: Legitieme nieuwe SaaS-integraties veroorzaken eveneens consent grants.
Nieuwe privileged role assignments
Toont nieuwe toewijzingen aan bevoorrechte directory-rollen.
// Nieuwe toewijzingen aan bevoorrechte rollen
AuditLogs
| where TimeGenerated > ago(7d)
| where OperationName in ("Add member to role",
"Add eligible member to role")
| extend Rol = tostring(TargetResources[0].displayName)
| project TimeGenerated, InitiatedBy, Rol, OperationName, Result
| order by TimeGenerated descFalse positives: Geplande beheerwijzigingen en onboarding leveren legitieme toewijzingen op.
Indicators of compromise
Geen IOC's herkend in de openbare dreigingstekst. IOC's kunnen later via een threat-intelfeed worden aangevuld.
False-positive-aandachtspunten
Reizende of thuiswerkende medewerkers, VPN-uitgangspunten en geplande beheeracties veroorzaken legitiem afwijkende aanmeldingen. Verifieer met de betrokkene of de changekalender voordat u escaleert.
Deze informatie is uitsluitend defensief: detectie en hunting. De KQL-queries zijn read-only en bedoeld voor Microsoft Sentinel.
Vragenlijst
E-mailonderwerp
Uitvraag kwetsbaarheid CVE-2026-85056 — reactie gevraagd
E-mailtekst
Geachte heer/mevrouw, Naar aanleiding van een beveiligingsmelding met kenmerk CVE-2026-85056 doet onze gemeente een uitvraag bij u als leverancier. Deze uitvraag dient ter verificatie en feitenvaststelling: wij willen vaststellen of en in welke mate de aan onze gemeente geleverde dienstverlening wordt geraakt. Het betreft mogelijk het product of onderdeel "github.com/zitadel/zitadel". Wij verzoeken u de onderstaande vragen volledig en onderbouwd te beantwoorden en uw reactie binnen tien (10) werkdagen na ontvangst van dit bericht schriftelijk aan te leveren bij de informatiebeveiligingsfunctie van onze gemeente. Zijn bepaalde gegevens nog niet beschikbaar, dan ontvangen wij graag een tussentijdse terugkoppeling. Vragen: 1. Gebruikt u de kwetsbare component of het geraakte product? 2. Welke versies zijn bij u in gebruik? 3. Is de kwetsbaarheid van toepassing op de dienstverlening aan onze gemeente? 4. Is de kwetsbaarheid inmiddels gepatcht? 5. Zo ja, op welke datum is de patch doorgevoerd? 6. Zo nee, welke mitigerende maatregelen zijn genomen? 7. Is er actief misbruik van de kwetsbaarheid geconstateerd? 8. Is er logging of forensisch onderzoek uitgevoerd? 9. Is er sprake van een risico op een datalek? 10. Wanneer verwacht u een definitieve oplossing door te voeren? 11. Welke restrisico's blijven na de oplossing bestaan? 12. Welke communicatie mogen wij richting onze interne stakeholders gebruiken? Deze uitvraag is bedoeld om de feiten vast te stellen en gezamenlijk tot een passende opvolging te komen. Wij stellen uw tijdige medewerking op prijs. Met vriendelijke groet, [Naam] Namens de informatiebeveiligingsfunctie Gemeente [Gemeente]
Vul vóór verzending de afzender en gemeentenaam in. De tekst is zakelijk en gericht op feitenvaststelling; pas hem aan op de eigen situatie.
Deze dreiging raakt de onderstaande governance-thema's. Met de aanbevolen bewijsstukken kunt u aantonen dat het signaal is opgevolgd — bruikbaar voor BIO2, NIS2/CBW, ISMS en de ENSIA-verantwoording.
Identiteitsaanvallen richten zich op accounts en rechten; sterke toegangsbeveiliging is bepalend.
Aanbevolen bewijs: Controle van MFA, conditional access en bevoorrechte rechten.
Detectie van verdachte aanmeldingen vraagt om logging en monitoring.
Aanbevolen bewijs: Detectieregels en logonderzoek op afwijkende aanmeldingen.
Identiteitsbeveiliging hoort bij de basismaatregelen.
Aanbevolen bewijs: Configuratie van de identity-omgeving.
De dreiging en de opvolging ervan horen thuis in de periodieke rapportage aan het management en de directie.
Aanbevolen bewijs: Vermelding in de CISO- of directierapportage informatiebeveiliging.
De radar legt de beoordeling, prioritering en opvolging navolgbaar vast.
Aanbevolen bewijs: Scoringonderbouwing, actiekaart en statusgeschiedenis uit de radar.
Aantoonbare opvolging draagt bij aan de jaarlijkse ENSIA-verantwoording over de BIO.
Aanbevolen bewijs: Overzicht van opgevolgde dreigingen voor de ENSIA-zelfevaluatie.
### Summary A vulnerability in ZITADEL’s Login V2 UI allowed a password-verified browser session to be reused for a new authentication request without re-checking a user’s enrolled second factor (TOTP, OTP, or U2F). An attacker who already knows valid credentials can fully authenticate to an application without completing MFA. ### Impact ZITADEL Login V2 issues a session as soon as the user’s password is verified, before the MFA challenge is completed. If the MFA step is abandoned (for example by navigating back) and login is started again, Login V2 may reuse that existing session instead of requiring the second factor. Session validity checks only enforced MFA verification when the organization’s login policy had **Force MFA** (or **Force MFA for local users only**) enabled. They did not treat a voluntarily enrolled second factor as required. In the common case where MFA is available on the user but not organization-mandated, a password-only session was treated as fully authenticated and used to complete the OIDC or SAML callback, bypassing the user’s second factor. **Scope note:** This issue affects **customer applications** that authenticate users through the hosted **Login V2** UI (OIDC/SAML). It does **not** affect Login V1. It also does **not** affect authentication to ZITADEL itself — including the Console, the Management/Admin APIs, and user self-management — even when Login V2 is enabled. ### Affected Versions Systems running one of the following versions are affected: * **4.x:** `4.0.0` through `4.16.0` (including RC versions) ### Patches The vulnerability has been addressed in the latest releases. The patch ensures Login V2 validates that any second factor enrolled on the user has been verified before an existing session can be reused to complete authentication. * **4.x**: Upgrade to $\ge$ [4.16.1](https://github.com/zitadel/zitadel/releases/tag/v4.16.1) ### Workarounds If an immediate upgrade is not possible, enable **Force MFA** (or **Force MFA for local users only**, if you want to exempt IdP/federated logins) in the affected organization’s — or the instance default — login policy. This makes second-factor verification mandatory for password logins and closes this session-reuse bypass. Note that this is a broader policy change (MFA becomes mandatory for the scoped local logins) rather than a narrow fix limited to users who already self-enrolled a second factor. ### Questions If you have any questions or comments about this advisory, please email us at [security@zitadel.com](mailto:security@zitadel.com) ### Credits Thanks to Philippe Wechsler ([@MadMonkey87](https://github.com/MadMonkey87)) for finding and reporting the vulnerability.
Categorie 'identity_attack' op basis van trefwoord 'mfa bypass'. Severity 'high' bepaald op basis van: bronlabel 'high'. Confidence 'likely': gerenommeerd securityonderzoek (GitHub Security Advisories). Geen bekende leveranciers of producten herkend.
Deze dreiging scoort 35/100 voor de gemeentelijke relevantie. Meegewogen: impact op identity of Microsoft 365 en een leveranciers- of ketenrisico. Geraakte processen: Microsoft 365 en identity, Leveranciersketen.
Bestuurlijke duiding
Deze dreiging is relevant voor de gemeente. Misbruik van identiteiten geeft aanvallers toegang tot gemeentelijke systemen en gegevens. De impact is beheersbaar mits de geadviseerde maatregelen tijdig worden opgevolgd. Laat de CISO de voortgang bewaken en escaleer richting directie zodra nieuwe signalen daartoe aanleiding geven.
Geraakte processen
Geraakte technologie
Betrokken rollen
CISO · ISO · SOC · ICT beheer · Leveranciersmanager
Concrete stappen voor ICT-beheer en het securityteam.
Dit zijn algemene handelingsperspectieven. Stem de opvolging af op de eigen omgeving en het ISMS van uw gemeente.
Deel geen vertrouwelijke of persoonsgegevens in dit formulier. Beschrijf je melding algemeen; gevoelige details horen niet op een publieke radar thuis.