Un'implementazione Go open source del protocollo SAML ha corretto una vulnerabilità critica che potrebbe consentire agli aggressori di aggirare l'autenticazione nelle applicazioni che utilizzavano la libreria.
SAML è un diffuso standard basato su XML per il passaggio delle informazioni di autenticazione tra provider di identità e provider di servizi. SAML è uno dei protocolli utilizzati per il Single Sign-On (SSO), in cui gli utenti utilizzano un unico provider di identità per accedere a diverse applicazioni.
“
Poiché l'asserzione SAML passa attraverso l'utente, questo BLOB deve essere firmato. La specifica consente di firmare l'intero blob o solo una parte di esso ", ha dichiarato Ross Kinder, il manutentore della libreria SAML per Go .La libreria Go SAML funziona bene quando un BLOB XML contiene una singola asserzione, che è ciò che accade la maggior parte delle volte. Tuttavia, SAML supporta anche l'elaborazione di più asserzioni in un singolo BLOB, il che potrebbe complicare le cose.
"
Se costruisci un blob con un'asserzione firmata e un'asserzione non firmata, potresti indurre la library a elaborare l'asserzione non firmata come se fosse firmata", ha detto Kinder.Se un programma Go si affida alla libreria per l'autenticazione, un utente non autenticato potrebbe mascherarsi da utente autenticato senza presentare le credenziali.