L'organizzazione Python Software Foundation ha rivelato informazioni su una vulnerabilità critica nell'API per la gestione delle versioni, che poteva essere sfruttata per attaccare l'infrastruttura del progetto Python. La vulnerabilità consentiva di bypassare il sistema di autenticazione e di accedere all'API di gestione delle versioni con diritti di amministratore inviando una richiesta con qualsiasi chiave e specificando uno degli amministratori nel campo del nome utente.
I diritti ottenuti in caso di sfruttamento riuscito della vulnerabilità consentivano all'attaccante di apportare modifiche ai link alle versioni di Python e ai metadati per verificare l'integrità dei file caricati, pubblicati sulla pagina python.org/downloads. Tuttavia, la vulnerabilità non consentiva di modificare il contenuto dei file delle versioni esistenti.
L'audit del database e dei log non ha rilevato segni di sfruttamento della vulnerabilità. Si suppone inoltre che la sostituzione dei link alle versioni non potesse rimanere inosservata, poiché molti fornitori utilizzano un sistema di verifica crittografica del codice Sigstore e controlli tramite chiavi PGP durante il caricamento.
La vulnerabilità era presente nel codice dal 2014 ed era causata dalla miscelazione di gestori per accessi ospiti e autenticazione via chiave nell'API. In caso di fallimento dell'autenticazione tramite chiave per accedere all'API, il codice effettuava un rollback utilizzando l'accesso ospite.
La vulnerabilità è stata rilevata il 23 febbraio ed è stata risolta il giorno successivo, dopo di che sono state eseguite diverse verifiche di integrità sull'infrastruttura: il 25 febbraio sono stati analizzati i log e i backup del DB, tutte le risorse disponibili per il caricamento sono state verificate utilizzando firme digitali dal log Sigstore e chiavi PGP, e un audit del codice sorgente dei servizi utilizzati è stato effettuato internamente. Il 23 aprile il codice sorgente è stato ulteriormente esaminato con strumenti AI, e il 1° giugno è stata coinvolta l'azienda Trail of Bits per un'audit esterna sull'infrastruttura python.org e sui processi di rilascio di Python.
Fonte: opennet.ru
