SÀkerhetsbrist i NPM-paketet node-netmask, som anvÀnds i 270 000 projekt

I NPM-paketet node-netmask, som har runt 3 miljoner nedladdningar per vecka och anvÀnds som beroende av mer Àn 270 000 projekt pÄ GitHub, har en sÄrbarhet (CVE-2021-28918) identifierats som gör det möjligt att kringgÄ kontroller dÀr nÀtmasken anvÀnds för att avgöra om den ingÄr i adresseringsintervall eller för filtrering. Problemet har ÄtgÀrdats i versionen node-netmask 2.0.0.

SÄrbarheten gör det möjligt att behandla en extern IP-adress som en intern adress och vice versa. Dessutom, under vissa anvÀndningsförhÄllanden av modulen node-netmask i applikationen, kan SSRF (Server-side request forgery), RFI (Remote File Inclusion) och LFI (Local File Inclusion)-attacker utföras för att fÄ Ätkomst till resurser i det interna nÀtverket och för att inkludera externa eller lokala filer i exekveringskedjan. Problemet ligger i att, enligt specifikationen, ska strÀngvÀrden för adresser som börjar med noll tolkas som oktala tal, men modulen 'node-netmask' tar inte hÀnsyn till detta och behandlar dem som decimaltal.

Till exempel kan en angripare begÀra en lokal resurs genom att ange vÀrdet '0177.0.0.1', vilket motsvarar '127.0.0.1', men modulen 'node-netmask' kommer att ignorera nollan och behandla 0177.0.0.1 som '177.0.0.1', vilket i applikationen, vid utvÀrdering av ÄtkomstrÀttigheter, inte ger möjlighet att faststÀlla identiteten med '127.0.0.1'. PÄ liknande sÀtt kan en angripare ange adressen '0127.0.0.1', som borde vara likvÀrdig med '87.0.0.1', men i modulen 'node-netmask' kommer den att behandlas som '127.0.0.1'. PÄ samma sÀtt kan kontrollen för att komma Ät intranÀtadresser bedras genom att ange vÀrden som '012.0.0.1' (som Àr ekvivalent med '10.0.0.1', men vid kontroll behandlas det som 12.0.0.1).

Forskarna som upptĂ€ckte problemet beskriver det som katastrofalt och ger flera angrepps-scenarier, men de flesta verkar vara hypotetiska. Till exempel nĂ€mns möjligheten att attackera en Node.js-applikation som gör externa anslutningar för att begĂ€ra en resurs baserat pĂ„ parametrar eller inkommande data, men ingen specifik applikation nĂ€mns eller detaljeras. Även om man skulle hitta applikationer som laddar resurser baserat pĂ„ inmatade data IP-adresser, Ă€r det inte helt klart hur sĂ„rbarheten kan utnyttjas praktiskt utan att ansluta till det lokala nĂ€tverket eller utan att fĂ„ kontroll över 'spegel'-IP-adresser.

Forskare förmodar att Àgarna av 87.0.0.1 (Telecom Italia) och 0177.0.0.1 (Brasil Telecom) har möjlighet att kringgÄ ÄtkomstbegrÀnsningar till 127.0.0.1. Ett mer realistiskt scenario Àr att anvÀnda sÄrbarheten för att kringgÄ olika blocklistor som implementerats pÄ applikationssidan. Problemet kan ocksÄ tillÀmpas för att dela definitionen av intranetranges i NPM-modulen "private-ip".

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster