Cum să vă scanați mediul pentru versiuni vulnerabile ale Curl

Cum să vă scanați mediul pentru versiuni vulnerabile ale Curl

Cum să vă scanați mediul pentru versiuni vulnerabile ale Curl PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Echipele de securitate nu trebuie să treacă în modul de criză pentru a rezolva problema vulnerabilități remediate recent în instrumentul de linie de comandă curl și biblioteca libcurl, dar asta nu înseamnă că nu trebuie să-și facă griji cu privire la identificarea și remedierea sistemelor afectate. Dacă sistemele nu pot fi exploatate imediat, echipele de securitate au timp să facă acele actualizări.

Acest Sfat tehnic reunește îndrumări cu privire la ceea ce trebuie să facă echipele de securitate pentru a se asigura că nu sunt în pericol.

Un instrument de bază de rețea pentru sistemele Unix și Linux, cURL este folosit în linii de comandă și scripturi pentru a transfera date. Prevalența sa se datorează faptului că este folosit atât ca utilitar autonom (curl), cât și ca bibliotecă care este inclusă în multe tipuri diferite de aplicații (libcurl). Biblioteca libcurl, care permite dezvoltatorilor să acceseze API-urile curl din propriul cod, poate fi introdusă direct în cod, utilizată ca dependență, utilizată ca parte a unui pachet de sistem de operare, inclusă ca parte a unui container Docker sau instalată pe un Nodul cluster Kubernetes.

Ce este CVE-2023-38545?

Vulnerabilitatea de mare severitate afectează curl și libcurl versiunile 7.69.0 până la 8.3.0, iar vulnerabilitatea de severitate scăzută afectează versiunile libcurl 7.9.1 până la 8.3.0. Cu toate acestea, vulnerabilitățile nu pot fi exploatate în condiții implicite. Un atacator care încearcă să declanșeze vulnerabilitatea ar trebui să îndrepte curl către un server rău intenționat aflat sub controlul atacatorului, să se asigure că curl folosește un proxy SOCKS5 folosind modul proxy-resolver, să configureze curl pentru a urmări automat redirecționările și să seteze dimensiunea bufferului la o dimensiune mai mică. mărimea.

În conformitate cu Yair Mizrahi, cercetător senior în securitate la JFrog, biblioteca libcurl este vulnerabilă afară dacă sunt setate următoarele variabile de mediu: CURLOPT_PROXYTYPE  setat la tip CURLPROXY_SOCKS5_HOSTNAME; Sau CURLOPT_PROXY or CURLOPT_PRE_PROXY  setat la schema ciorapi5h://. Biblioteca este, de asemenea, vulnerabilă dacă una dintre variabilele de mediu proxy este setată să folosească ciorapi5h:// sistem. Instrumentul de linie de comandă este vulnerabil numai dacă este executat cu -socks5-hostname steag, sau cu – proxy (-x) sau -preproxy setată să utilizeze schema ciorapi5h://. De asemenea, este vulnerabil dacă curl este executat cu variabilele de mediu afectate.

„Setul de condiții prealabile necesare pentru ca o mașină să fie vulnerabilă (vezi secțiunea anterioară) este mai restrictiv decât se credea inițial. Prin urmare, credem că marea majoritate a utilizatorilor de curl nu vor fi afectați de această vulnerabilitate”, a scris Mizrahi în analiză.

Scanați mediul pentru sisteme vulnerabile

Primul lucru pe care trebuie să-l facă organizațiile este să își determine mediile pentru a identifica toate sistemele folosind curl și libcurl pentru a evalua dacă aceste condiții prealabile există. Organizațiile ar trebui să își inventarieze sistemele și să-și evalueze procesele de livrare a software-ului folosind instrumente de analiză a compoziției software pentru cod, containere de scanare și utilitare de gestionare a poziției securității aplicațiilor, notează Alex Ilgayev, șeful de cercetare de securitate la Cycode. Chiar dacă vulnerabilitatea nu afectează fiecare implementare a curl, ar fi mai ușor să identifici sistemele afectate dacă echipa începe cu o listă de locații potențiale de căutat.

Următoarele comenzi identifică versiunile de curl instalate:

Linux/MacOS:

find / -name curl 2>/dev/null -exec echo "Găsit: {}" ; -exec {} --version ;

Windows:

Get-ChildItem -Calea C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host „Găsit: $($_.FullName)”; & $_.FullName --version }

GitHub are un interogare pentru a rula în Defender pentru Endpoint pentru a identifica toate dispozitivele din mediu care au curl instalat sau folosesc curl. Qualys și-a publicat regulile pentru utilizarea platformei sale.

Organizațiile care folosesc containere Docker sau alte tehnologii de containere ar trebui să scaneze imaginile pentru versiuni vulnerabile. Se așteaptă un număr considerabil de reconstruiri, în special în imaginile docker și entități similare care încorporează copii Liburl. Docker s-a unit o listă de instrucțiuni la evaluarea tuturor imaginilor.

Pentru a găsi depozitele existente:

docker scout repo enable --org /scout-demo

Pentru a analiza imaginile containerelor locale:

politica docker scout [IMAGE] --org [ORG]

Această problemă evidențiază importanța urmăririi meticuloase a tuturor software-urilor open source utilizate într-o organizație, conform lui Henrik Plate, cercetător de securitate la Endor Labs.

„Cunoașterea tuturor utilizărilor curl și libcurl este o condiție prealabilă pentru evaluarea riscului real și pentru a lua măsuri de remediere, fie că este vorba de patch-ul curl, restricționarea accesului la sistemele afectate din rețelele neîncrezătoare sau implementarea altor contramăsuri”, a spus Plate.

Dacă aplicația vine cu o listă de materiale software, acesta ar fi un loc bun pentru a începe să căutați cazuri de curl, adaugă John Gallagher, vicepreședinte al Viakoo Labs.

Doar pentru că defectele nu sunt exploatabile nu înseamnă că actualizările nu sunt necesare. Patch-uri sunt disponibile direct pentru curl și libcurl, și multe dintre sistemele de operare (Debian, Ubuntu, Red Hat etc.) au împins și versiuni fixe. Fii atent la actualizările de securitate de la alte aplicații, deoarece libcurl este o bibliotecă folosită de multe sisteme de operare și aplicații.

O soluție până când actualizările pot fi implementate este de a forța curl să folosească soluția locală a numelor de gazdă atunci când se conectează la un proxy SOCKS5, conform Mizrahi de la JFrog. Această sintaxă folosește schema socks5 și nu socks5h: curl -x socks5://someproxy.com. În bibliotecă, înlocuiți variabila de mediu CURLPROXY_SOCKS5_HOSTNAME cu CURLPROXY_SOCKS5.

Potrivit lui Benjamin Marr, un inginer de securitate la Intrus, echipele de securitate ar trebui să monitorizeze semnalizatoarele curl pentru șiruri mari excesive, deoarece asta ar indica că sistemul a fost compromis. Steagurile sunt –socks5-hostname, Sau – proxy or -preproxy setată să utilizeze schema ciorapi5h://.

Timestamp-ul:

Mai mult de la Lectură întunecată