Уязвимость двойного освобождения памяти в libcurl при совместном использовании данных HSTS между независимыми "дескрипторами"
Описание
В libcurl существует уязвимость двойного освобождения памяти при совместном использовании данных HSTS между независимыми "дескрипторами" ("handles"). Эта возможность была добавлена без учета возможности совместного использования данных между разными потоками, при этом в документации не было указания на этот аспект. Из-за отсутствия мьютексов или блокировок потоков два потока, использующие одни и те же данные HSTS, могут привести к двойному освобождению памяти или к уязвимости типа "использование после освобождения" (use-after-free).
Затронутые версии ПО
- libcurl версии ниже 8.0.0
Тип уязвимости
- Двойное освобождение памяти
- Уязвимость типа "использование после освобождения" (use-after-free)
Ссылки
- ExploitThird Party Advisory
- Third Party Advisory
- Third Party Advisory
- ExploitThird Party Advisory
- Third Party Advisory
- Third Party Advisory
Уязвимые конфигурации
Одно из
Одно из
Одновременно
Одновременно
Одновременно
Одновременно
Одно из
EPSS
5.9 Medium
CVSS3
Дефекты
Связанные уязвимости
A double free vulnerability exists in libcurl <8.0.0 when sharing HSTS data between separate "handles". This sharing was introduced without considerations for do this sharing across separate threads but there was no indication of this fact in the documentation. Due to missing mutexes or thread locks, two threads sharing the same HSTS data could end up doing a double-free or use-after-free.
A double free vulnerability exists in libcurl <8.0.0 when sharing HSTS data between separate "handles". This sharing was introduced without considerations for do this sharing across separate threads but there was no indication of this fact in the documentation. Due to missing mutexes or thread locks, two threads sharing the same HSTS data could end up doing a double-free or use-after-free.
A double free vulnerability exists in libcurl <8.0.0 when sharing HSTS ...
A double free vulnerability exists in libcurl <8.0.0 when sharing HSTS data between separate "handles". This sharing was introduced without considerations for do this sharing across separate threads but there was no indication of this fact in the documentation. Due to missing mutexes or thread locks, two threads sharing the same HSTS data could end up doing a double-free or use-after-free.
EPSS
5.9 Medium
CVSS3