Npm Netmask SSRFÈÆ¹ý·ì϶£¨CVE-2021-28918£©

°ä²¼¹¦·ò 2021-03-29

0x00 ·ì϶¸ÅÊö

CVE  ID

CVE-2021-28918

ʱ    ¼ä

2021-03-29

Àà   ÐÍ


µÈ    ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò

Netmask <= v1.1.0

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ


 

0x01 ·ì϶ÏêÇé

image.png

 

NetmaskÊÇnpm¿âÖеÄÒ»¸öÈí¼þ°ü£¬£¬£¬£¬£¬£¬£¬Ëü±»³ÉǧÉÏÍòµÄÀûÓ÷¨Ê½ÓÃÀ´½âÎö»ò±ÈÁ¦IPv4µØÖ·ºÍCIDR¿é¡£¡£¡£¡£¡£¡£¡£¡£¸ÃÈí¼þ°üµÄÿÖÜÏÂÔØÁ¿³¬¹ý300Íò´Î£¬£¬£¬£¬£¬£¬£¬½ØÖÁĿǰ£¬£¬£¬£¬£¬£¬£¬netmaskÒѾ­ÀÛ¼ÆÓг¬¹ý2.38ÒÚµÄ×ÜÏÂÔØÁ¿¡£¡£¡£¡£¡£¡£¡£¡£´Ë±í£¬£¬£¬£¬£¬£¬£¬Ô¼ÄªÓÐ278,000¸öGitHub´æ´¢¿âÒÀÀµnetmask¡£¡£¡£¡£¡£¡£¡£¡£

2021Äê03ÔÂ28ÈÕ£¬£¬£¬£¬£¬£¬£¬netmask±»Åû¶´æÔÚÒ»¸ö¿Éµ¼ÖÂSSRF»òRFIµÄ°²È«·ì϶£¨CVE-2021-28918£©¡£¡£¡£¡£¡£¡£¡£¡£ÔÚ½âÎöIPµØÖ·Ê±´øÓÐǰµ¼ÁãµÄÇé¿öÏ£¬£¬£¬£¬£¬£¬£¬ÓÉÓÚδÕýÈ·½øÐÐÑéÖ¤£¬£¬£¬£¬£¬£¬£¬ÍøÂçÑÚÂ뽫»á½âÎöΪ·ÖÆçµÄIP¡£¡£¡£¡£¡£¡£¡£¡£¸Ã·ì϶½«µ¼Ö³ÉǧÉÏÍòµÄÏîÄ¿ÈÝÒ×Êܵ½SSRFÈÆ¹ýµÄ¹¥»÷£¬£¬£¬£¬£¬£¬£¬Ä¿Ç°¸Ã·ì϶µÄPoCÒÑÔÚGitHubÉϹ«¿ª¡£¡£¡£¡£¡£¡£¡£¡£

IPµØÖ·Äܹ»ÓöàÖÖÌåʽ°µÊ¾£¬£¬£¬£¬£¬£¬£¬Ô̺¬Ê®Áù½øÔìºÍÕûÊý£¬£¬£¬£¬£¬£¬£¬µ«×î³£¼ûµÄIPv4µØÖ·ÒÔÊ®½øÔìÌåʽ°µÊ¾¡£¡£¡£¡£¡£¡£¡£¡£ºÃ±È£¬£¬£¬£¬£¬£¬£¬IPv4µØÖ·ÒÔÊ®½øÔìÌåʽ°µÊ¾Îª104.20.59.209£¬£¬£¬£¬£¬£¬£¬µ«Êǰ˽øÔìÌåʽ°µÊ¾Îª0150.0024.0073.0321¡£¡£¡£¡£¡£¡£¡£¡£

ÔÚChromeä¯ÀÀÆ÷µÄµØÖ·À¸ÖÐÊäÈë0127.0.0.1/£¬£¬£¬£¬£¬£¬£¬ä¯ÀÀÆ÷»á½«ÆäÊÓΪ°Ë½øÔìÌåʽµÄIP¡£¡£¡£¡£¡£¡£¡£¡£ÏÖʵÉÏ£¬£¬£¬£¬£¬£¬£¬µ±°´ÏÂEnter»òReturn¼üºó£¬£¬£¬£¬£¬£¬£¬IP»á¸ü¸ÄΪʮ½øÔìµÈЧֵ87.0.0.1¡£¡£¡£¡£¡£¡£¡£¡£ÕâÊÇÓÉÓÚ´óÎÞÊýÍøÂçä¯ÀÀÆ÷£¨ÈçChrome£©£¬£¬£¬£¬£¬£¬£¬»á×Ô¶¯Åâ³¥»ìºÏÌåʽµÄIP¡£¡£¡£¡£¡£¡£¡£¡£Õâ¾ÍÊÇ´óÎÞÊýÀûÓ÷¨Ê½´¦ÖôËÀàÉÁ¶¯Æä´ÊµÄIPµØÖ·µÄ·½Ê½¡£¡£¡£¡£¡£¡£¡£¡£

image.png

 

±ØÒª°ÑÎȵÄÊÇ£¬£¬£¬£¬£¬£¬£¬127.0.0.1²¢·Ç¹«¹²IPµØÖ·£¬£¬£¬£¬£¬£¬£¬¶øÊÇÒ»¸ö»·»ØµØÖ·£¬£¬£¬£¬£¬£¬£¬µ«ÊÇ£¬£¬£¬£¬£¬£¬£¬Í¨¹ýÉÁ¶¯Æä´ÊµÄ°µÊ¾½«Æä¸ü¸ÄΪ¹«¹²IPµØÖ·£¬£¬£¬£¬£¬£¬£¬´Ó¶øµ¼Ö½âÎöΪÁíһ̨Ö÷»ú¡£¡£¡£¡£¡£¡£¡£¡£

µ«ÊÇ£¬£¬£¬£¬£¬£¬£¬¶ÔÓÚnpm netmask£¬£¬£¬£¬£¬£¬£¬ÈκÎǰµ¼Áã³ÇÊб»µ¥Ò»µØ°þÀëºÍÅׯú¡£¡£¡£¡£¡£¡£¡£¡£Æ¾¾ÝIETFµÄԭʼ¹æ·¶£¬£¬£¬£¬£¬£¬£¬IPv4µØÖ·µÄ²¿ÃÅÈôÊÇǰ׺Ϊ 0£¬£¬£¬£¬£¬£¬£¬Äܹ»±»½âÎöΪ°Ë½øÔì¡£¡£¡£¡£¡£¡£¡£¡£µ«ÊÇnetmaskºöÂÔÁËÕâÒ»µã£¬£¬£¬£¬£¬£¬£¬ËüʼÖÕ½«IPÊÓΪʮ½øÔ죬£¬£¬£¬£¬£¬£¬ÕâÒâζ×ÅÔÚÄú³¢ÊÔÑéÖ¤IPÊôÓÚij¸öÁìÓòʱ£¬£¬£¬£¬£¬£¬£¬Ê¹ÓûùÓڰ˽øÔìµÄIPv4µØÖ·°µÊ¾½«ÊÇÃýÎóµÄ¡£¡£¡£¡£¡£¡£¡£¡£

ÈôÊǹ¥»÷Õß¿ÉÄÜÓ°ÏìÀûÓ÷¨Ê½½âÎöµÄIPµØÖ·£¬£¬£¬£¬£¬£¬£¬Ôò¸ÃÎÊÌâ¿ÉÄܻᵼÖ¸÷Àà·ì϶£¬£¬£¬£¬£¬£¬£¬´Ó·þÎñÆ÷¶ËÒªÇóαÔ죨SSRF£©Èƹýµ½Ô¶³ÌÎļþÔ̺¬£¨RFI£©¡£¡£¡£¡£¡£¡£¡£¡£

¹¥»÷ÕßÔÚÔËÐнڵã·þÎñÆ÷À´ËãÕÊÈëÕ¾ÒªÇó»ò²éÎʲÎÊý£¬£¬£¬£¬£¬£¬£¬¸ÃÒªÇó»ò²éÎʲÎÊý¿ÉÄÜÊÇÓÃÓÚ½øÒ»²½ÏνӵÄURI£¬£¬£¬£¬£¬£¬£¬»òʹÓýÏÔçµÄ0ǰ׺JavaScript°µÊ¾´ó¾Ö£¬£¬£¬£¬£¬£¬£¬ÒÔ»ùÓڰ˽øÔìµÄ²¿ÃÅ»òÈ«Êý°Ëλ×Ö½ÚÀ´Ôì×÷IP¡£¡£¡£¡£¡£¡£¡£¡£Õâ¿ÉÄܵ¼ÖÂSSRF£¬£¬£¬£¬£¬£¬£¬ÀýÈ磬£¬£¬£¬£¬£¬£¬Í¨¹ý´«µÝ0177.0.0.01À´Ç¿Ôì·þÎñÆ÷Ïνӵ½127.0.0.1£¨177ÊÇÊ®½øÔì127µÄ°Ë½øÔìÊý£©¡£¡£¡£¡£¡£¡£¡£¡£Ò»¸öºÜºÃµÄÀý×ÓÊÇ£¬£¬£¬£¬£¬£¬£¬Ò»¸ö¶³öwebhooks²¢Í¨¹ýnetmask²é³­ÑéÖ¤Óû§URLµÄϵͳÈÝÒ×Êܵ½SSRF¹¥»÷¡£¡£¡£¡£¡£¡£¡£¡£

image.png

¶øÕâ¸öbugÒ²Äܹ»±»ÀûÓÃÀ´½øÐÐÔ¶³ÌÎļþÔ̺¬£¨RFI£©£¬£¬£¬£¬£¬£¬£¬ÈôÊǹ¥»÷ÕßÔì×÷Ò»¸ö¶ÔnetmaskÀ´Ëµ¿´ÆðÀ´ÊÇ˽ÓеÄIPµØÖ·£¬£¬£¬£¬£¬£¬£¬ÓÉÓÚnetmask½«ËùÓÐIPv4²¿ÃÅ£¨°ËλÊý£©×ª»»ÎªÊ®½øÔìÌåʽµÄ·½Ê½£¬£¬£¬£¬£¬£¬£¬±»ÆäËü×é¼þÆÀ¹ÀΪ¹«¹²Ìåʽ¡£¡£¡£¡£¡£¡£¡£¡£

¸÷ÀàÍøÂç»ù´¡¼Ü¹¹ºÍ°²È«²úÆ·£¨ÀýÈç WebÀûÓ÷À»ðǽ£©¶¼ÒÀÀµÓÚÍøÂçÑÚÂëÀ´¹ýÂ˳ö×èÖ¹ÁбíºÍÔÊÐíÁбíÖеÄIP¡£¡£¡£¡£¡£¡£¡£¡£Õ⻹Òâζ×Å£¬£¬£¬£¬£¬£¬£¬ÈôÊDz»¼ÓÒԲ鳭£¬£¬£¬£¬£¬£¬£¬Ôò¿ÉÄܻᵼÖ´ËÀàȱµã£¬£¬£¬£¬£¬£¬£¬´Ó¶øµ¼ÖÂÑϳÁbug¡£¡£¡£¡£¡£¡£¡£¡£

2018Ä꣬£¬£¬£¬£¬£¬£¬Ê¢ÐеÄÈí¼þÏîÄ¿ curlÖÐÒ²·¢ÏÖÓµÓÐÒ»ÑùÀàÐ͵ķì϶£¬£¬£¬£¬£¬£¬£¬Ëü½«°Ë½øÔìIPv4µØÖ·½âÎöΪʮ½øÔ죬£¬£¬£¬£¬£¬£¬ºÃ±È£¬£¬£¬£¬£¬£¬£¬ÔËÐÓ×° curl -v 0177.0.0.1¡±curlÏνӵ½177.0.0.1£¬£¬£¬£¬£¬£¬£¬¶ø²»ÊÇ»·»ØµØÖ·127.0.0.1¡£¡£¡£¡£¡£¡£¡£¡£´Ëǰ£¬£¬£¬£¬£¬£¬£¬Sick Codes¡¢JacksonºÍSahlerÔøÔÚprivate-ipÈí¼þ°üÖз¢ÏÖÁËÒ»¸öÀàËÆµÄ·ì϶£¨CVSSÆÀ·Ö9.8£©£¬£¬£¬£¬£¬£¬£¬¸ÃÈí¼þ°üÿÖÜÓÐ17.5Íò×óÓÒµÄÏÂÔØÁ¿¡£¡£¡£¡£¡£¡£¡£¡£

 

0x02 ´ëÖý¨Òé

Ŀǰ´Ë·ì϶ÒѾ­½¨¸´£¬£¬£¬£¬£¬£¬£¬½¨Òéʵʱ¸üÐÂÖÁnetmask°æ±¾2.0.0¡£¡£¡£¡£¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://www.npmjs.com/package/netmask

 

0x03 ²Î¿¼Á´½Ó

https://www.npmjs.com/package/netmask

https://github.com/sickcodes/security/blob/master/advisories/SICK-2021-011.md

https://www.bleepingcomputer.com/news/security/critical-netmask-networking-bug-impacts-thousands-of-applications/

https://sick.codes/universal-netmask-npm-package-used-by-270000-projects-vulnerable-to-octal-input-data-server-side-request-forgery-remote-file-inclusion-local-file-inclusion-and-more-cve-2021-28918/

 

0x04 ¹¦·òÏß

2021-03-28  Sick codesÅû¶·ì϶

2021-03-29  VSRC°ä²¼°²È«¹«¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/

image.png