The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск curl 7.71.0 с устранением двух уязвимостей

26.06.2020 12:26

Доступна новая версия утилиты для получения и отправки данных по сети - 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 в программах на таких языках, как Си, Perl, PHP, Python.

В новом выпуске добавлена опция "--retry-all-errors" для осуществления повторных попыток выполнения операций при возникновении любых ошибок и устранено две уязвимости:

  • Уязвимость CVE-2020-8177 позволяет перезаписать локальный файл в системе при обращении к подконтрольному атакующему серверу. Проблема проявляется только при одновременном использовании опций "-J" ("--remote-header-name") и "-i" ("--head"). Опция "-J" позволяет сохранить файл с именем, указанным в заголовке "Content-Disposition". В случае если файл с таким именем уже существует, программа curl в штатном режиме отказывается выполнить перезапись, но в случае наличия опции "-i" логика проверки нарушается и файл перезаписывается (проверка осуществляется на этапе получения тела ответа, но при опции "-i" вначале выводятся HTTP-заголовки и они успевают сохраниться до начала обработки тела ответа). В файл записываются только HTTP-заголовки, но сервер может отдать вместо заголовков произвольные данные и они будут записаны.
  • Уязвимость CVE-2020-8169 может привести к утечке на сервер DNS части некоторых паролей доступа к сайту (Basic, Digest, NTLM и т.п.). При использовании символа "@" в пароле, который также используется в качестве разделителя пароля в URL, при срабатывании HTTP-перенаправления curl отправит часть пароля после символа "@" вместе с доменом для определения имени. Например, при указании пароля "passw@rd123" и имени пользователя "dan", curl сгенерирует URL "https://dan:passw@rd123@example.com/path" вместо "https://dan:passw%40rd123@example.com/path" и отправит запрос на резолвинг хоста "rd123@example.com" вместо "example.com".

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



  1. Главная ссылка к новости (https://curl.haxx.se/mail/arch...)
  2. OpenNews: Новая версия curl 7.69
  3. OpenNews: Новая версия curl 7.66.0 с начальной поддержкой HTTP/3
  4. OpenNews: Уязвимости в Cisco RV32x были "устранены" через блокировку запросов от утилиты curl
  5. OpenNews: Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей
  6. OpenNews: Лидером загрузок Curl стало вредоносное ПО
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53239-curl
Ключевые слова: curl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:16, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А как там с мастерами и слейвами?
     
     
  • 2.6, ыыы (?), 14:47, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    уже выпилили ведь, вроде пару недель назад новость тут была
     
  • 2.7, ыыы (?), 14:50, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://github.com/curl/curl/commit/eab2f95c0de94e9816c8a6110d20673761dd97a4
     

  • 1.2, Аноним (2), 13:30, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Забавно. Впервые вижу опасный баг, который очень вероятно может затронуть меня. Но -i в скриптах не используется, надеюсь, на практике не придётся столкнуться.
     
     
  • 2.33, пох. (?), 12:33, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    там вообще-то адское сочетание - надо доверять серверу создавать у тебя файлы как ему хочется (что логично для ручного или полуручного использования, но не для автоматики чего либо), надо чтобы этот сервер внезапно был недоверенный ("недоверенный" в том смысле, что это к примеру, ни разу не sf какой - код-то ты вообще оттуда _запускать_ собирался? А что-то совсем-совсем странное.) и при этом надо зачем-то не файл с него качать, а заголовки - и при этом сохранять их за каким-то хером под именем не скачиваемого с сервера файла (который, судя по всему, тебе нахер не нужен).

    imho, при таком сочетании надо вызывать abort() а не обрабатывать ошибку - иначе есть риск породить черную дыру или вызвать танец Шивы (результат в общем-то примерно тот же).

     

  • 1.3, Takishima (ok), 13:39, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Когда ж это закончится?

    Вот что бывает, когда пишут не на расте.

     
     
  • 2.4, Аноним (-), 14:37, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А как от таких багов раст поможет, мистер растаман? :)
     
     
  • 3.43, RomanCh (ok), 16:48, 01/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кажется, тот самый случай когда у автора получилось так толсто, что аж тонко.
     
  • 2.8, ann (??), 17:43, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что на расте вообще ничего не пишут.

    Вот напиши и тогда закончиться.

     

  • 1.5, Аноним (5), 14:37, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Не надо исправлять ошибки, лучше переименуйте в curblm, чтобы пристыдить белых взломщиков.
     
  • 1.9, Аноним (9), 18:12, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хинт: так как на XP большинство качалок (менеджеров закачек) используют древний неюзабельный системный https стек (исключая однопоточных mozilla и opera-presto браузеров) можно попробовать качать в несколько потоков с помощью uget + curl.
    aria2c была бы лучше, но все версии, доступные на github в виде бинарей (с 2015 года) не работают на XP. curl по идее должен работать, он также использует openssl, а не системную древность.
    uget я проверял работает на XP. Но там куча мелких файлов, GTK3. Причем, большинство из них это иконки. Но оно умудряется работать.
    Возможно, еще есть расширения многопоточной загрузки для Firefox 52.
    А также есть слабая надежда на JDownloader. В случае, если Java не пользуется системными средствами для https (этого я еще не знаю). В JDownloader можно задавать несколько потоков. Недостаток в том, что похоже он не слушается этих настроек и все качает в один поток.
    Зачем GUI, если есть консоль? curl умеет многопоточное скачивание, но им трудно управлять (в отличии от ari2c), нужно вручную задавать range. GUI (uget) берет эту работу на себя. Зачем качать в несколько потоков? Так выше скорость на плохих каналах и есть возобновление соединения.
    Еще есть вариант: локальный https прокси, перешифрующий трафик. Fiddler использует системный .Net, а это те же яйца, вид сбоку. Возможно, какой-то антивирус со своим https движком, но их ставить не хочется.
     
     
  • 2.10, Аноним (9), 18:17, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Или curl умеет качать частями (поддерживает докачку), но не в несколько потоков одновременно? Вряд ли uget тогда запускает несколько копий curl.
     
  • 2.11, Аноним (9), 18:21, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Как собрать aria2c под XP?
    Или есть еще какие-нибудь примеры несистемного использования https качалками?
     
     
  • 3.19, Аноним (19), 20:51, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    aria2 1.35 поддержкой XP https://github.com/q3aql/aria2-static-builds
    Обсуждение и ругание разработчиков https://github.com/aria2/aria2/issues/393
    Старые версии (уже неактуально, но они доступны, 1.18.10 работала) https://sourceforge.net/projects/aria2/files/stable

    aria2c.exe и ca-certificates.crt поместить в C:\Windows
    Создать конфиг C:\Documents and Settings\user\.aria2\aria2.conf с содержимым
    ca-certificate=C:\Windows\ca-certificates.crt
    Скачивание aria2c -x16 -s16 -k1M "URL"
    uGet (GUI) https://sourceforge.net/projects/urlget/files/uget%20%28stable%

     
     
  • 4.25, Аноним (19), 21:32, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Люди, наверное, думают зачем я с виндой связался. Через месяц, может, какой-нибудь роллинг линукс поставлю. А так то мне понадобилась винда для игр и для avisynth (xvid4psp5). Ну и до кучи экспериментирую.
     
     
  • 5.30, пох. (?), 10:10, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А так то мне понадобилась винда для игр

    в тетрис или в диггера рубишься?

    (а какой еще есть игорь для - XP?!)

     
     
  • 6.36, Аноним (36), 16:53, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Например, Constanine, Sims3 (+ моды), SWAT4, Counter Strike Source, Battlefield 2, Call of Duty, Medal of Honor, Brothers in Arms, Syberia, Spider Man 2.
    Но вообще я скучаю по Demolition Racer из Sega Dreamcast.
     
  • 2.14, Аноним (14), 19:43, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >но все версии, доступные на github в виде бинарей (с 2015 года) не работают на XP

    Скажи спасибо, что в их системных требованиях Tiger Lake не значится.

     
  • 2.15, Аноним (14), 19:46, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >есть слабая надежда на JDownloader. В случае, если Java не пользуется системными средствами для https

    Нет. Джава дропнула как XP уже давно (и хрен ты её теперь даже установишь, первое время можно было заменой файлов поставить, но потом это работать перестало, видимо студию обновили), так и вообще 32 бита. #спасибоораклузаэто

     
     
  • 3.21, Аноним (19), 20:59, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У JDownloader собственная портативная старая сборка Java. Конкретно на линуксе 8.0.66.
    Но меня интересует сам факт использует ли Java системные компоненты для доступа к https. Думается, что нет. Это хорошо.
     
     
  • 4.22, Аноним (19), 21:02, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может работать и системной, но у меня он с ней заглючил как-то (перестал обновляться). Может, я не так запускал, конечно.
     
  • 4.29, супераноним (?), 08:32, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от конкретной сборки jre. Oracle JRE использует свой список CA. Сборки OpenJDK на линуксе обычно собирают с системным CA, но на винде вроде как тоже используется свой список.
     
     
  • 5.35, Аноним (36), 16:22, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Поставил JDownloader на XP. Да, качает все ссылки (те, что не открывает IE6).
    Виндовый установщик не заработал, жаловался на какой-то .Net. Я скачал jar файл и Java 7u80 (Oracle) отсюда http://java-runtime.ru/download (эту ссылку трудно было найти). Задал нужные параметры в Java конфигураторе (в панели управления): включил TLS 1.2, отключил браузерное расширение, проверку отзыва сертификатов, обновление. Убрал яву из автозагрузи и отключил службу quick starter. Создал ярлык: "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "C:\Program Files\JDownloader\JDownloader.jar"
    С него скачалось обновление и установилось. В расширенных настройках отключил баннеры, поиск по запросам:
    premium alert
    oboom
    Special Deals
    Donate
    Banner
    Update
    Вполне возможно, что JDownloader качает в несколько потоков, если задать "максимум одновременных закачек с хоста". Кстати, скорость можно менять, если кликнуть ЛКМ или ПКМ справа сверху на графике скорости (где раньше баннер был), откроется меню. Отключил автоматическое разархивирование, потому что 1. не поддерживается rar5 (на сайте есть плагин, но он x64 или это только для линукса x64), 2. сложные пароли не переваривает.
    А так прога симпатичная. На пару с aria2/uGet. А главное умная, умеет качать с файлобменников.
     
     
  • 6.41, Аноним (36), 18:42, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Оказывается для XP есть утилита NNN Changer, которая подделывает версию системы http://forum.oszone.net/go.php?url=https://www.upload.ee/files/11934865/NNN_C
    С помощью нее обманул и поставил SubtitleEdit. Правда, он не все файлы проинсталлил, да и portable сборка поддерживает XPю. Но я установил именно неподдерживаемый setup.
     
  • 2.20, Аноним (20), 20:59, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зачем пользоваться xp в 2020 году?
     
     
  • 3.27, Аноним (27), 22:52, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что новые версии говно.
     
     
  • 4.31, пох. (?), 10:11, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, например - в них нет "древнего неюзабельного http-cтека" - с чем ты теперь героицски борешься.

     
     
  • 5.34, Аноним (36), 14:35, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > с чем ты теперь героицски борешься

    А ты с чем героически борешься? С телеметрией? Судя по постам об убунте это так.

     
     
  • 6.38, пох. (?), 17:20, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> с чем ты теперь героицски борешься
    > А ты с чем героически борешься? С телеметрией? Судя по постам об
    > убунте это так.

    Ну так это ж в убунте телеметрию чуть ли не в ведро запихивают (а может и запихивают, хрен его знает, что там лишнего в _закрытом_ коде лайвпатчей) и при этом даже о самом факте ее существования - молчок, а в венде-проклятой - пока не опеределишься с тем, какой именно частью информации и с каким софтом готов поделиться - так даже учетку завести не дают.

    Ну а серверные версии без команды от smc и вообще не поделятся. MS'то в курсе существования сетей с ограниченным или вовсе заблокированным доступом наружу, это ж не убунта, серверную версию которой даже не поставить в такой сети нормально.

     
     
  • 7.40, Аноним (36), 18:09, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну у тебя конечно же есть пруфы, что она что-то сливает, а не индексы обновляет (с security.ubuntu.com).
     
  • 5.42, Аноним (27), 19:20, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А почему винда постоянно скрипит винтом, а в линуксе все тихо? Потому что в нем лучше кэширование?
     
  • 3.32, Anonymoustus (ok), 11:41, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что она офигенная, а нынешние, как верно заметил аноним — говно.
     

  • 1.12, Аноним (20), 19:13, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше wget?
     
     
  • 2.13, ann (??), 19:19, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Curl: FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, MQTT, FILE, POP3, IMAP, SMB/CIFS, SMTP, RTMP and RTSP.

    Wget: HTTP, HTTPS and FTP.

     
  • 2.16, Аноним (14), 19:46, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    чем wget.
     
  • 2.18, Тот самый (?), 20:33, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что, wget умеет метод PUT? Wget-ом можно передать заполненную форму на сервер?
    (сам я не в курсе, т.к. пользуюсь исключительно curl)

    На самом деле версия 7.71.0 по-богаче выглядит:
    curl 7.71.0 (i686-pc-linux-gnu) libcurl/7.71.0 OpenSSL/1.1.1g zlib/1.2.11 c-ares/1.16.1 libidn2/2.2.0 libssh2/1.9.0 nghttp2/1.41.0
    Release-Date: 2020-06-24
    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
    Features: alt-svc AsynchDNS HTTP2 HTTPS-proxy IDN Largefile libz Metalink NTLM SSL TLS-SRP UnixSockets

     
     
  • 3.26, Ordu (ok), 22:13, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А что, wget умеет метод PUT? Wget-ом можно передать заполненную форму на сервер?

    Мне лень заглядывать в ман, чтобы освежить память, но, по-моему, ответы "да" и "да". Я когда-то давно пробовал разные способы автоматизации в веб, и когда шеллом это делал, использовал wget и не помню, чтобы я спотыкался о то, что wget чего-то там не умеет. С другой стороны давно это было, а память у меня дырявая.

    Это не отменяет того факта, что curl умеет больше, но с http(s) у wget всё очень неплохо.

     
  • 2.23, Аноним (23), 21:09, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тем что curl это еще и libcurl, с к-й можно линковаться и иметь мощнейший HTTP-клиент в Сишном коде, а твой сраный wget - это просто wget.
     
     
  • 3.24, ann (??), 21:15, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И не только http клиент, клиент ко всей куче поддерживаемых протоколов.
     

  • 1.28, Аноним (28), 08:02, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Доступна новая версия утилиты для получения и отправки данных по сети - curl 7.71.0, предоставляющей возможность гибкого формирования запроса с заданием таких параметров, как cookie, user_agent, referer и любых других заголовк

    curl - это обычная качалка. Зачем такой пафос?

     
     
  • 2.37, с (?), 17:13, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это либа вообще-то, которую используют почти все языки, а тузла просто витринка либы.
     
     
  • 3.39, пох. (?), 17:22, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Это либа вообще-то, которую используют почти все языки, а тузла просто витринка
    > либы.

    не витринка, а еще один вполне полноценный интерфейс к ней - поэтому очень многое можно сделать и из языков, в которые эта библиотека не влинкована насмерть.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру