Hur du skannar din miljö efter sårbara versioner av Curl

Hur du skannar din miljö efter sårbara versioner av Curl

Hur du skannar din miljö efter sårbara versioner av Curl PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Säkerhetsteam behöver inte gå in i krisläge för att ta itu med problemet nyligen fixade sårbarheter i kommandoradsverktyget curl och libcurl-biblioteket, men det betyder inte att de inte behöver oroa sig för att identifiera och åtgärda påverkade system. Om systemen inte omedelbart går att exploatera har säkerhetsteam lite tid på sig att göra dessa uppdateringar.

Detta tekniska tips samlar vägledning om vad säkerhetsteam behöver göra för att säkerställa att de inte är i riskzonen.

Ett grundläggande nätverksverktyg för Unix- och Linux-system, cURL används i kommandorader och skript för att överföra data. Dess förekomst beror på att det används både som ett fristående verktyg (curl) och som ett bibliotek som ingår i många olika typer av applikationer (libcurl). Libcurl-biblioteket, som tillåter utvecklare att komma åt curl-API:er från sin egen kod, kan introduceras direkt i koden, användas som ett beroende, användas som en del av ett operativsystempaket, inkluderas som en del av en Docker-behållare eller installeras på en Kubernetes klusternod.

Vad är CVE-2023-38545?

Den höga sårbarheten påverkar curl och libcurl versioner 7.69.0 till 8.3.0, och sårbarheten med låg allvarlighetsgrad påverkar libcurl versionerna 7.9.1 till 8.3.0. Men sårbarheterna kan inte utnyttjas under standardförhållanden. En angripare som försöker utlösa sårbarheten skulle behöva peka curl på en skadlig server under angriparens kontroll, se till att curl använder en SOCKS5-proxy med proxy-resolver-läge, konfigurera curl för att automatiskt följa omdirigeringar och ställa in buffertstorleken till en mindre storlek.

Enligt Yair Mizrahi, en senior säkerhetsforskare på JFrog, är libcurl-biblioteket sårbart endast om följande miljövariabler är inställda: CURLOPT_PROXYTYPE  inställd på typ CURLPROXY_SOCKS5_HOSTNAME; Eller CURLOPT_PROXY or CURLOPT_PRE_PROXY  inställd på schema strumpor 5h://. Biblioteket är också sårbart om en av proxymiljövariablerna är inställd på att använda strumpor 5h:// schema. Kommandoradsverktyget är endast sårbart om det körs med -socks5-värdnamn flagga eller med -ombud (-x) eller – preproxy inställd på att använda schemat strumpor 5h://. Det är också sårbart om curl exekveras med de påverkade miljövariablerna.

"De förutsättningar som krävs för att en maskin ska vara sårbar (se föregående avsnitt) är mer restriktiv än man först trodde. Därför tror vi att den stora majoriteten av curl-användare inte kommer att påverkas av denna sårbarhet”, skrev Mizrahi i analysen.

Skanna miljön efter sårbara system

Det första som organisationer behöver göra är att avgränsa sina miljöer för att identifiera alla system som använder curl och libcurl för att bedöma om dessa förutsättningar finns. Organisationer bör inventera sina system och utvärdera sina processer för leverans av programvara med hjälp av analysverktyg för mjukvarusammansättning för kod, skanningsbehållare och verktyg för hantering av applikationssäkerhetsställning, konstaterar Alex Ilgayev, chef för säkerhetsforskning på Cycode. Även om sårbarheten inte påverkar varje implementering av curl, skulle det vara lättare att identifiera de påverkade systemen om teamet börjar med en lista över potentiella platser att leta efter.

Följande kommandon identifierar vilka versioner av curl som är installerade:

Linux/MacOS:

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

Windows:

Get-ChildItem -Sökväg C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "Found: $($_.FullName)"; & $_.FullName --version }

GitHub har en fråga som ska köras i Defender for Endpoint för att identifiera alla enheter i miljön som har curl installerat eller använder curl. Qualys har publicerat sina regler för att använda sin plattform.

Organisationer som använder Docker-behållare eller annan containerteknik bör också skanna bilderna efter sårbara versioner. Ett ansenligt antal ombyggnader förväntas, särskilt i docker-bilder och liknande enheter som innehåller liburl-kopior. Docker har tagit sig samman en lista med instruktioner på att bedöma alla bilder.

Så här hittar du befintliga förråd:

docker scout repo aktivera --org /scout-demo

Så här analyserar du lokala behållarbilder:

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

Det här numret belyser vikten av att noggrant hålla koll på all programvara med öppen källkod som används i en organisation, enligt Henrik Plate, säkerhetsforskare på Endor Labs.

"Att känna till alla användningsområden för curl och libcurl är förutsättningen för att bedöma den faktiska risken och vidta åtgärdsåtgärder, vare sig det är att patcha curl, begränsa åtkomsten till påverkade system från opålitliga nätverk eller implementera andra motåtgärder," sa Plate.

Om applikationen kommer med en mjukvaruförteckning skulle det vara ett bra ställe att börja leta efter fall av krullning, tillägger John Gallagher, vice vd för Viakoo Labs.

Bara för att bristerna inte kan utnyttjas betyder det inte att uppdateringarna inte är nödvändiga. Patchar finns tillgängliga direkt för curl och libcurl, och många av operativsystemen (Debian, Ubuntu, Red Hat, etc.) har också pushat fasta versioner. Håll utkik efter säkerhetsuppdateringar från andra applikationer, eftersom libcurl är ett bibliotek som används av många operativsystem och applikationer.

En lösning tills uppdateringarna kan distribueras är att tvinga curl att använda lokal värdnamnslösning vid anslutning till en SOCKS5-proxy, enligt JFrogs Mizrahi. Den här syntaxen använder socks5-schemat och inte socks5h: curl -x socks5://someproxy.com. Byt ut miljövariabeln i biblioteket CURLPROXY_SOCKS5_HOSTNAME med CURLPROXY_SOCKS5.

Enligt Benjamin Marr, säkerhetsingenjör på Intruder, bör säkerhetsteam övervaka curl-flaggor för överdrivet stora strängar, eftersom det skulle indikera att systemet hade äventyrats. Flaggorna är –socks5-värdnamn, eller -ombud or – preproxy inställd på att använda schemat strumpor 5h://.

Tidsstämpel:

Mer från Mörk läsning