Začleněno 26. 9. 2026 První zásah v open source
Yopass: neověřené e-maily mohly projít omezením domén v OIDC
BudgetScan upozornil na chybějící kontrolu email_verified v přihlášení do Yopass, open-source nástroje pro sdílení tajemství, hesel a souborů. Naše záplata se stala prvním commitem správcovy začleněné opravy.
Co bylo špatně
Při OIDC přihlášení vrací poskytovatel identity údaje o uživateli: e-mailovou adresu a volitelně email_verified, které říká, zda poskytovatel adresu skutečně ověřil. Yopass podle e-mailu vynucoval seznam povolených e-mailových domén (nastavení AllowedEmailDomains), ale email_verified nekontroloval. OIDC je v Yopass volitelná licencovaná funkce; když je nastavené, objeví se v navigační liště tlačítko Sign in.
Kdo tedy měl u poskytovatele identity s povolenou doménou neověřený účet, mohl omezení domén obejít. Zda je to v praxi možné, záleží na konkrétním poskytovateli identity.
Jak to bylo opraveno
Naše první záplata odmítala přihlášení s neověřeným e-mailem, zaznamenala pokus do logu a přidala testy. Správce Johan Haals upozornil, že email_verified je nepovinný claim, takže jeho slepé vynucení by mohlo rozbít stávající nasazení. Na našem commitu proto postavil nový pull request, který:
- ve výchozím stavu vyžaduje pro nová přihlášení
email_verified: truea chybějící nebo nepravdivý claim odmítne dřív, než vznikne session; - poskytovatelům, kteří claim neposílají, umožňuje výjimku pomocí
--oidc-require-verified-email=false(neboOIDC_REQUIRE_VERIFIED_EMAIL=false), s upozorněním při startu a validací konfigurace; - omezení domén nadále vynucuje v obou režimech;
- přidává testy kompatibility a dokumentaci pro provozovatele a změnu označuje jako breaking change pro poznámky k vydání.
Náš původní commit zůstal prvním commitem toho pull requestu, s naším autorstvím.
Časová osa
- 23. 9. 2026. BudgetScan upozornil na chybějící kontrolu. Otevřeli jsme pull request #3966 s opravou a testy.
- 24. 9. Automatická revize chtěla silnější testy, které jsme doplnili. Správce vznesl námitku k nepovinnému claimu.
- 25. 9. Správce na naší záplatě postavil pull request #3973 a #3966 ve prospěch něj zavřel.
- 26. 9. #3973 byl začleněn. Ve výchozím nastavení teď OIDC přihlášení vyžaduje ověřený e-mail.
Jak to číst
Skener problém našel a člověk, správce projektu, rozhodl, jak ho bezpečně opravit. Přesně takhle to chceme mít: nálezy jsou podněty pro lidi, ne rozsudky. Je to jeden příklad, ne benchmark, a naměřené výsledky zveřejníme, až je budeme mít. Díky Johanu Haalsovi za rychlé a pečlivé zpracování.