Ви використовуєте curl? Вам слід оновити зараз! Нова версія 7.71.0 виправляє дві серйозні помилки

Зараз доступний нова версія оновлення dта “cURL 7.71.0”, в якому вони зосередилися на вирішенні двох серйозних помилок які дозволяють паролі доступу, а також можливість перезапису файлів. Саме тому зроблено запрошення перейти на нову версію.

Для тих, хто не знає ця утиліта, вони повинні це знати служить для отримання та надсилання даних по мережі, Надає можливість гнучко формувати запит, встановлюючи такі параметри, як cookie, user_agent, referer та будь-який інший заголовок.

cURL підтримує HTTP, HTTPS, HTTP / 2.0, HTTP / 3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP та інші мережеві протоколи. Одночасно було випущено паралельне оновлення бібліотеки libcurl, яке надає API для використання всіх функцій curl у програмах такими мовами, як C, Perl, PHP, Python.

Основні зміни в cURL 7.71.0

Ця нова версія є оновленням, і, як згадувалося на початку, мова йде про вирішення двох помилок, а саме:

  • Вразливість CVE-2020-8177- Це дозволяє зловмисникові перезаписати локальний файл у системі під час доступу до керованого сервера атаки. Проблема проявляється лише тоді, коли параметри "-J" ("-remote-header-name") та "-i" ("–head") використовуються одночасно.

Вибір "-J" дозволяє зберегти файл із зазначеним ім'ям у заголовку "Content-Disposition". Sу мене вже є файл з таким самим іменем, програма curl зазвичай відмовляється перезаписувати, але якщо варіант "-Я" присутній, логіка перевірки порушена та перезаписана файл (перевірка проводиться на етапі прийому тіла відповіді, але з опцією "-i" заголовки HTTP виходять першими та встигають зберегтись перед обробкою тіла відповіді). У файл записуються лише заголовки HTTP.

  • Уразливість CVE-2020-8169: це може спричинити витік на DNS-сервері деяких паролів для доступу до сайту (Basic, Digest, NTLM тощо).

При використанні символу "@" у паролі, який також використовується як роздільник пароля в URL-адресі, коли спрацьовує перенаправлення HTTP, curl надішле частину пароля після символу "@" разом із доменом для визначення ім'я.

Наприклад, якщо ви вказали пароль "passw @ passw" та ім'я користувача "user", curl генерує URL-адресу "https: // user: passw @ passw @ example.com / path" замість "https: user: passw % 40passw@example.com/path "і надішліть запит на вирішення хосту" pasww@example.com "замість" example.com ".

Проблема проявляється, коли вмикається підтримка перенаправлення HTTP Відносний (вимкнено через CURLOPT_FOLLOWLOCATION).

У випадку використання традиційного DNS, постачальник DNS і зловмисник можуть знайти інформацію про частину пароля, який може перехоплювати транзитний мережевий трафік (навіть якщо вихідний запит був зроблений через HTTPS, оскільки трафік DNS не шифрується). При використанні DNS через HTTPS (DoH) витік обмежується заявою DoH.

Нарешті, ще однією із змін, яка інтегрована в новій версії, є додавання опції «– повторити всі помилки» для повторних спроб виконувати операції при виникненні помилки.

Як встановити cURL на Linux?

Для тих, хто зацікавлений у можливості встановити цю нову версію cURL Вони можуть це зробити, завантаживши вихідний код і скомпілювавши.

Для цього перше, що ми збираємося, - це завантажити останній пакет cURL за допомогою терміналу, в який давайте наберемо:

wget https://curl.haxx.se/download/curl-7.71.0.tar.xz

Потім ми розпакуємо завантажений пакет за допомогою:

tar -xzvf curl-7.71.0.tar.xz

Ми входимо до новоствореної папки з:

cd curl-7.71.0

Ми вводимо як root із:

sudo su

І ми вводимо наступне:

./configure --prefix=/usr \
--disable-static \
--enable-threaded-resolver \
--with-ca-path=/etc/ssl/certs &&
make
make install &&
rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.71.0 &&
cp -v -R docs/* /usr/share/doc/curl-7.71.0

Нарешті, ми можемо перевірити версію за допомогою:

curl --version

Якщо ви хочете дізнатися більше про це, ви можете проконсультуватися за наступним посиланням.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.