Kritická bezpečnostná zraniteľnosť v Node.js balíku “systeminformation”
V Node.js balíku “systeminformation” bola objavená kritická bezpečnostná zraniteľnosť, ktorá môže vystaviť milióny systémov riziku útokov na vzdialené vykonávanie kódu (RCE).
Zraniteľnosť, identifikovaná ako CVE-2024-56334, ovplyvňuje verzie až do 5.23.6 vrátane, ktorý má viac ako 8 miliónov mesačných stiahnutí a neuveriteľných 330 miliónov celkových stiahnutí.
Zraniteľnosť pochádza z chyby v injekcii príkazu v rámci funkcie getWindowsIEEE8021x, ktorá načítava informácie o SSID siete.
Táto funkcia nesprávne sanitizuje SSID pred jeho odoslaním ako parameter do cmd.exe. V dôsledku toho by útočník mohol vložiť škodlivé príkazy do SSID Wi-Fi siete, ktoré by sa následne vykonali na zraniteľnom systéme, keď bude funkcia getWindowsIEEE8021x zavolaná.
2024 MITRE ATT&CK Evaluation Results for SMEs & MSPs -> Download Free Guide
V závislosti od použitia balíka by táto zraniteľnosť mohla útočníkom umožniť vykonanie vzdialeného kódu alebo eskaláciu právomocí. Využitie tejto zraniteľnosti je relatívne jednoduché a vyžaduje iba miestny prístup na uskutočnenie útoku.
Príklad dôkazu konceptu (PoC) ukazuje dva potenciálne scenáre útoku:
- Spustenie príkazu ping nekonečne nastavením SSID na: a” | ping /t 127.0.0.1 &
- Spustenie ľubovoľného spustiteľného súboru s zvýšenými právami nastavením SSID na: a” | %SystemDrive%\a\a.exe &
Po pripojení k škodlivo upravenej Wi-Fi sieti stačí jednoducho zavolať zraniteľnú funkciu (napr. si.networkInterfaces()), čo spustí vykonanie vloženého príkazu.
Správcovia balíka systeminformation túto chybu opravili vo verzii 5.23.7. Všetkým používateľom tohto balíka sa dôrazne odporúča okamžite aktualizovať na najnovšiu verziu.
Pre vývojárov, ktorí nemôžu aktualizovať, existuje obchádzka, ktorá zahŕňa ručné sanitizovanie parametrov odosielaných do konkrétnych funkcií, ako sú si.inetLatency(), si.inetChecksite(), si.services() a si.processLoad().
Táto zraniteľnosť poukazuje na pretrvávajúce bezpečnostné výzvy v ekosystéme npm a potenciálne riziká spojené s široko používanými balíkmi. Je to pripomienka pre vývojárov, aby:
- Pravidelne aktualizovali závislosti a sledovali bezpečnostné upozornenia
- Implementovali správnu sanitizáciu vstupov, najmä pri práci so systémovými príkazmi
- Vykonávali dôkladné bezpečnostné audity tretích strán používaných v projektoch
Objavenie CVE-2024-56334 v balíku systeminformation zdôrazňuje kritickú dôležitosť udržiavania ostražitosti v softvérovej bezpečnosti, najmä pre široko používané open-source knižnice.
Ako Node.js ekosystém naďalej rastie, je nevyhnutné, aby vývojári a organizácie uprednostnili bezpečnostné praktiky a zostali informovaní o potenciálnych zraniteľnostiach, ktoré môžu ovplyvniť ich systémy.