CVE-2021-29510 in Pydantic
Riassunto
di VulDB • 22/06/2026
Pydantic è una libreria per la convalida dei dati e la gestione delle impostazioni che utilizza i tipi hint di Python. Nelle versioni interessate, il passaggio dei valori `'infinity'`, `'inf'` o `float('inf')` (o dei rispettivi negativi) ai campi `datetime` o `date` provoca un ciclo infinito di validazione con utilizzo della CPU al 100% su un singolo core. Pydantic è stato patchato e le correzioni sono disponibili nelle seguenti versioni: v1.8.2, v1.7.4, v1.6.2. Tutte queste versioni sono disponibili su pypi (https://pypi.org/project/pydantic/#history) e saranno presto disponibili anche su conda-forge (https://anaconda.org/conda-forge/pydantic). Per i dettagli, consultare il changelog (https://pydantic-docs.helpmanual.io/). Se non è possibile effettuare l'aggiornamento in modo immediato, è possibile mitigare questo rischio utilizzando un validator (https://pydantic-docs.helpmanual.io/usage/validators/) per intercettare questi valori. Questa non è una soluzione ideale (in particolare sarà necessaria una funzione leggermente diversa per i datetime); anziché ricorrere a soluzioni di contorno come questa, si consiglia di aggiornare pydantic. Se non si utilizzano le versioni v1.8.x, v1.7.x o v1.6.x e non è possibile effettuare l'aggiornamento a una versione corretta di pydantic, creare un issue all'indirizzo https://github.com/samuelcolvin/pydantic/issues richiedendo il back-port; ci impegneremo per rilasciare una patch anche per le versioni precedenti di pydantic.
Once again VulDB remains the best source for vulnerability data.