curl 7.71.0 бароварда шуд, ки ду осебпазириро ислоҳ мекунад

дастрас версияи нави утилита барои қабул ва фиристодани маълумот тавассути шабака - ламс 7.71.0, ки имкон медиҳад, ки дархостро бо роҳи муайян кардани параметрҳо ба монанди куки, 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 таъмин мекунад.

Нашри нав имконоти "--retry-all-errors" -ро барои аз нав кӯшиш кардани амалиёт дар сурати рух додани хатогиҳо илова мекунад ва ду осебпазириро ислоҳ мекунад:

  • Осебпазирӣ CVE-2020-8177 ба шумо имкон медиҳад, ки файли маҳаллиро дар система ҳангоми дастрасӣ ба сервере, ки ҳамлагар идора мекунад, дубора нависед. Мушкилот танҳо вақте пайдо мешавад, ки вариантҳои “-J” (“–remote-header-name”) ва “-i” (“-head”) ҳамзамон истифода мешаванд. Опсияи "-J" ба шумо имкон медиҳад, ки файлро бо номи дар сарлавҳа нишондодашуда захира кунед
    "Мундариҷа-диспозитсия". Агар файл бо ҳамон ном аллакай мавҷуд бошад, барномаи curl маъмулан иҷрои такрорнависиро рад мекунад, аммо агар опсияи "-i" мавҷуд бошад, мантиқи санҷиш вайрон мешавад ва файл аз нав навишта мешавад (тафтиш дар марҳила анҷом дода мешавад) аз қабули мақоми посух, аммо бо варианти "-i" сарлавҳаҳои HTTP аввал намоиш дода мешаванд ва пеш аз оғози коркарди мақоми посух вақти захира кардан доранд). Ба файл танҳо сарлавҳаҳои HTTP навишта мешаванд, аммо сервер метавонад ба ҷои сарлавҳаҳо маълумоти худсарона фиристад ва онҳо навишта мешаванд.

  • Осебпазирӣ CVE-2020-8169 метавонад боиси ихроҷ ба сервери DNS-и баъзе паролҳои дастрасӣ ба сайт (Basic, Digest, NTLM ва ғайра) гардад. Бо истифода аз рамзи "@" дар парол, ки он инчунин ҳамчун ҷудокунандаи парол дар URL истифода мешавад, вақте ки масири HTTP оғоз мешавад, curl қисми паролро пас аз аломати "@" ҳамроҳ бо домен барои ҳалли он мефиристад. ном. Масалан, агар шумо гузарвожаи "passw@rd123" ва номи корбарии "dan"-ро пешниҳод кунед, curl URL-и "https://dan:passw@" тавлид мекунад.[почтаи электронӣ ҳифз карда шудааст]/path" ба ҷои "https://dan:passw%[почтаи электронӣ ҳифз карда шудааст]/ path" ва дархост барои ҳалли мизбон " мефиристад[почтаи электронӣ ҳифз карда шудааст]" ба ҷои "example.com".

    Мушкилот вақте пайдо мешавад, ки дастгирии масирҳои нисбии HTTP фаъол карда мешавад (тавассути CURLOPT_FOLLOWLOCATION ғайрифаъол карда мешавад). Агар DNS анъанавӣ истифода шавад, маълумотро дар бораи як қисми парол аз ҷониби провайдери DNS ва ҳамлагар, ки қобилияти боздоштани трафики шабакаи транзитӣ дорад (ҳатто агар дархости аслӣ тавассути HTTPS бошад, зеро трафики DNS рамзгузорӣ нашудааст) дастрас кардан мумкин аст. Вақте ки DNS-over-HTTPS (DoH) истифода мешавад, ихроҷ бо оператори DoH маҳдуд мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ