Sådan scanner du dit miljø for sårbare versioner af Curl

Sådan scanner du dit miljø for sårbare versioner af Curl

Sådan scanner du dit miljø for sårbare versioner af Curl PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Sikkerhedsteams behøver ikke at gå ind i krisetilstand for at løse problemet nyligt rettet sårbarheder i kommandolinjeværktøjet curl og libcurl-biblioteket, men det betyder ikke, at de ikke behøver at bekymre sig om at identificere og afhjælpe påvirkede systemer. Hvis systemerne ikke umiddelbart kan udnyttes, har sikkerhedsteams lidt tid til at lave disse opdateringer.

Dette tekniske tip samler vejledning om, hvad sikkerhedsteams skal gøre for at sikre, at de ikke er i fare.

Et grundlæggende netværksværktøj til Unix- og Linux-systemer, cURL bruges i kommandolinjer og scripts til at overføre data. Dets udbredelse skyldes, at det bruges både som et selvstændigt hjælpeprogram (curl) samt et bibliotek, der er inkluderet i mange forskellige typer applikationer (libcurl). Libcurl-biblioteket, som giver udviklere adgang til curl API'er fra deres egen kode, kan introduceres direkte i koden, bruges som en afhængighed, bruges som en del af et operativsystembundt, inkluderet som en del af en Docker-container eller installeres på en Kubernetes klynge node.

Hvad er CVE-2023-38545?

Den høje alvorlighedssårbarhed påvirker curl og libcurl version 7.69.0 til 8.3.0, og sårbarheden med lav sværhedsgrad påvirker libcurl version 7.9.1 til 8.3.0. Sårbarhederne kan dog ikke udnyttes under standardbetingelser. En angriber, der forsøger at udløse sårbarheden, skal pege curl mod en ondsindet server under hackerens kontrol, sørge for, at curl bruger en SOCKS5-proxy ved hjælp af proxy-resolver-tilstand, konfigurere curl til automatisk at følge omdirigeringer og indstille bufferstørrelsen til en mindre størrelse.

Ifølge Yair Mizrahi, en senior sikkerhedsforsker hos JFrog, er libcurl-biblioteket sårbart kun hvis følgende miljøvariabler er indstillet: CURLOPT_PROXYTYPE  indstillet til type CURLPROXY_SOCKS5_HOSTNAMEEller CURLOPT_PROXY or CURLOPT_PRE_PROXY  sat til skema sokker5h://. Biblioteket er også sårbart, hvis en af ​​proxymiljøvariablerne er indstillet til at bruge sokker5h:// ordning. Kommandolinjeværktøjet er kun sårbart, hvis det udføres med -socks5-værtsnavn flag eller med – fuldmagt (-x) eller – preproxy indstillet til at bruge ordningen sokker5h://. Det er også sårbart, hvis curl udføres med de berørte miljøvariabler.

"Sættet af forudsætninger, der er nødvendige for at en maskine kan være sårbar (se forrige afsnit) er mere restriktive end først antaget. Derfor tror vi, at det store flertal af curl-brugere ikke vil blive påvirket af denne sårbarhed,” skrev Mizrahi i analysen.

Scan miljøet for sårbare systemer

Det første, organisationer skal gøre, er at scope deres miljøer til at identificere alle systemer, der bruger curl og libcurl for at vurdere, om disse forudsætninger eksisterer. Organisationer bør inventar deres systemer og evaluere deres softwareleveringsprocesser ved hjælp af softwaresammensætningsanalyseværktøjer til kode, scanningsbeholdere og applikationssikkerhedsstillingsstyringsværktøjer, bemærker Alex Ilgayev, chef for sikkerhedsforskning hos Cycode. Selvom sårbarheden ikke påvirker enhver implementering af curl, ville det være nemmere at identificere de berørte systemer, hvis teamet starter med en liste over potentielle steder at kigge efter.

Følgende kommandoer identificerer, hvilke versioner af curl der er installeret:

Linux/MacOS:

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

Windows:

Get-ChildItem -Sti C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "Fundet: $($_.FullName)"; & $_.FullName --version }

GitHub har en forespørgsel til at køre i Defender for Endpoint for at identificere alle enheder i miljøet, der har curl installeret eller bruger curl. Qualys har offentliggjort sine regler for at bruge sin platform.

Organisationer, der bruger Docker-containere eller andre containerteknologier, bør også scanne billederne for sårbare versioner. Der forventes et betydeligt antal genopbygninger, især i docker-billeder og lignende enheder, der inkorporerer liburl-kopier. Docker har trukket sig sammen en liste over instruktioner på at vurdere alle billeder.

Sådan finder du eksisterende depoter:

docker scout repo aktivere --org /spejder-demo

Sådan analyserer du lokale containerbilleder:

docker spejderpolitik [IMAGE] --org [ORG]

Dette nummer fremhæver vigtigheden af ​​at holde omhyggelig styr på al open source-software, der bruges i en organisation, ifølge Henrik Plate, sikkerhedsforsker ved Endor Labs.

"At kende til alle anvendelserne af curl og libcurl er forudsætningen for at vurdere den faktiske risiko og tage afhjælpende handlinger, det være sig at patche curl, begrænse adgangen til berørte systemer fra ikke-pålidelige netværk eller implementere andre modforanstaltninger," sagde Plate.

Hvis applikationen kommer med en softwarestykliste, ville det være et godt sted at begynde at lede efter forekomster af krøller, tilføjer John Gallagher, vicepræsident for Viakoo Labs.

Bare fordi fejlene ikke kan udnyttes, betyder det ikke, at opdateringerne ikke er nødvendige. Patches er tilgængelige direkte til curl og libcurl, og mange af operativsystemerne (Debian, Ubuntu, Red Hat osv.) har også skubbet faste versioner. Hold øje med sikkerhedsopdateringer fra andre applikationer, da libcurl er et bibliotek, der bruges af mange operativsystemer og applikationer.

En løsning, indtil opdateringerne kan implementeres, er at tvinge curl til at bruge lokal hostname-løsning, når der oprettes forbindelse til en SOCKS5-proxy, ifølge JFrogs Mizrahi. Denne syntaks bruger socks5-skemaet og ikke socks5h: curl -x sokker5://someproxy.com. Udskift miljøvariablen i biblioteket CURLPROXY_SOCKS5_HOSTNAME med CURLPROXY_SOCKS5.

Ifølge Benjamin Marr, der er sikkerhedsingeniør på Intruder, bør sikkerhedsteams overvåge curl-flag for store strenge, da det ville indikere, at systemet var blevet kompromitteret. Flagene er –socks5-værtsnavn eller – fuldmagt or – preproxy indstillet til at bruge ordningen sokker5h://.

Tidsstempel:

Mere fra Mørk læsning