Lodash¿âÔ­ÐÍ´«È¾·ì϶£¨CVE-2019-10744£©

°ä²¼¹¦·ò 2019-07-12

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website


²¼¾°ÃèÊö


Lodash ÊÇÒ»¸ö JavaScript ¿â£¬£¬£¬£¬£¬£¬Ô̺¬¼ò»¯×Ö·û´®¡¢Êý×Ö¡¢Êý×é¡¢º¯ÊýºÍ¶ÔÏó±à³ÌµÄ¹¤¾ß£¬£¬£¬£¬£¬£¬Äܹ»Ô®ÊÖ·¨Ê½Ô±¸üÓÐЧµØ±àдºÍÊØ»¤ JavaScript ´úÂë¡£¡£¡£¡£¡£¡£¡£¡£²¢ÇÒÊÇÒ»¸öÊ¢ÐÐµÄ npm ¿â£¬£¬£¬£¬£¬£¬½öÔÚGitHub ÉϾÍÓг¬¹ý 400 Íò¸öÏîĿʹÓ㬣¬£¬£¬£¬£¬LodashµÄ±é¼°Âʼ«¶È¸ß£¬£¬£¬£¬£¬£¬Ã¿ÔµÄÏÂÔØÁ¿³¬¹ý 8000 Íò´Î¡£¡£¡£¡£¡£¡£¡£¡£½üÆÚ±»±¬³öÒ»¸öÑϳÁµÄÔ­ÐÍ´«È¾·ì϶¡£¡£¡£¡£¡£¡£¡£¡£


·ì϶Áбí


CVE ID  £º   CVE-2019-10744
·ì϶µÈ¼¶£º   ¸ßΣ
CVSSÆÀ·Ö£º   7.3
Ó°ÏìÁìÓò£º   4.17.11֮ǰµÄËùÓа汾

·ì϶ÏêÇé


ͨ¹ý»ú¹Øº¯Êý³ÁÔØµÄ·½Ê½£¬£¬£¬£¬£¬£¬Lodash ¿âÖеĺ¯Êý defaultsDeep ºÜÓпÉÄܻᱻºýŪÔö³¤»òÅú¸Ä Object.prototype µÄÊôÐÔ£¬£¬£¬£¬£¬£¬×îÖÕ¿ÉÄܵ¼Ö Web ÀûÓ÷¨Ê½±ÀÀ£»£»£»£»£»£»òŤתÆäÐÐΪ£¬£¬£¬£¬£¬£¬¾ßÌåÈ¡¾öÓÚÊÜÓ°ÏìµÄÓÃÀý¡£¡£¡£¡£¡£¡£¡£¡£


Pony by Snyk


8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website

Ô­ÐÍ´«È¾ÊÇÒ»¸öÓ°Ïì JavaScript µÄ·ì϶¡£¡£¡£¡£¡£¡£¡£¡£Ô­ÐÍ´«È¾ÊÇÖ¸½«ÊôÐÔ×¢ÈëÏÖÓÐ JavaScript ˵»°»ú¹ØÔ­ÐÍ£¨Èç¶ÔÏ󣩵ÄÄÜÁ¦¡£¡£¡£¡£¡£¡£¡£¡£JavaScript ÔÊÐíËùÓжÔÏóÊôÐÔ±»¸ü¸Ä£¬£¬£¬£¬£¬£¬ÀýÈçÈç_proto_£¬£¬£¬£¬£¬£¬constructorºÍprototype¡£¡£¡£¡£¡£¡£¡£¡£¹¥»÷Õßͨ¹ý×¢ÈëÆäËüÖ·´°Ñ³ÖÕâЩÊôÐÔÀ´¸²¸Ç»ò´«È¾»ù´¡¶ÔÏóµÄ JavaScript ÀûÓ÷¨Ê½¶ÔÏóÔ­ÐÍ¡£¡£¡£¡£¡£¡£¡£¡£ÕâÑùºÜ¿ÉÄÜ»áÓ°ÏìÀûÓ÷¨Ê½Í¨¹ýÔ­ÐÍÁ´´¦Öà JavaScript ¶ÔÏóµÄ¹ý³Ì£¬£¬£¬£¬£¬£¬´Ó¶øµ¼Ö»ؾø·þÎñ»òÔ¶³Ì´úÂëÖ´ÐÓ×£¡£¡£¡£¡£¡£¡£¡£


Ô­ÐÍ´«È¾µÄÁ½ÖÖÖØÒª·½Ê½£º


²»°²È«µÄObjectµÝ¹é¹é²¢


°´õè¾¶½ç˵ÊôÐÔ


²»°²È«µÄ¶ÔÏóµÝ¹é¹é²¢


Ò×Êܹ¥»÷µÄµÝ¹é¹é²¢º¯ÊýµÄÂß¼­×ñÑ­ÒÔϸ߼¶Ä£ÐÍ£º

8827Ì«Ñô¼¯ÍÅ(Macau)¹É·ÝÓÐÏÞ¹«Ë¾-Official website
µ±Ô´¶ÔÏóÔ̺¬ÃûΪ_proto_defined with Object.defineProperty()µÄÊôÐÔʱ£¬£¬£¬£¬£¬£¬²é³­ÊôÐÔÊÇ·ñ´æÔÚ²¢ÇÒÊÇÖ¸±êºÍÔ´´«µÝÉϵĶÔÏóµÄǰÌᣬ£¬£¬£¬£¬£¬²¢Çҹ鲢½«ÓëÖ¸±ê½øÐеݹ飬£¬£¬£¬£¬£¬×÷ΪԭÐÍObjectºÍÔ´µÄObject½ç˵¡£¡£¡£¡£¡£¡£¡£¡£

¶øºó¹¥»÷ÕßÔÚ Object Ô­ÐÍÉϸ´ÔìÊôÐÔ¡£¡£¡£¡£¡£¡£¡£¡£


¿Ë¡²Ù×÷ÊÇÒ»¸öÌØÊâµÄ²»°²È«µÝ¹é¹é²¢×ÓÀ࣬£¬£¬£¬£¬£¬Ëü²úÉúÔÚ¶Ô¿Õ¶ÔÏó½øÐеݹé¹é²¢Ê±£ºmerge({},source)¡£¡£¡£¡£¡£¡£¡£¡£


lodash ºÍ Hoek ÊÇÒ×Êܵݹé¹é²¢¹¥»÷Ó°Ïì¡£¡£¡£¡£¡£¡£¡£¡£


°´õè¾¶½ç˵ÊôÐÔ


ÓÐһЩ JavaScript ¿âʹÓà API ƾ¾Ý¸ø¶¨õè¾¶½ç˵¶ÔÏóµÄÊôÐÔÖµ¡£¡£¡£¡£¡£¡£¡£¡£Í¨³£ÊÜÓ°ÏìµÄº¯ÊýÔ̺¬´ËÊðÃû£ºtheFunction(object, path, value)

ÈôÊǹ¥»÷ÕßÄܹ»½ÚÔì¡°õè¾¶¡±µÄÖµ£¬£¬£¬£¬£¬£¬ÔòÄܹ»½«´ËÖµÉèÖÃΪ_proto_.myValue¡£¡£¡£¡£¡£¡£¡£¡£

·À·¶´ëÊ©


¶³½á  Object.prototype £¬£¬£¬£¬£¬£¬Ê¹Ô­ÐͲ»ÄÜÀ©³äÊôÐÔ

³ÉÁ¢ JSON schema

¶ã±Ü²»°²È«µÄµÝ¹éÐԹ鲢º¯Êý

ʹÓÃÎÞÔ­ÐͶÔÏ󣬣¬£¬£¬£¬£¬Í»ÆÆÔ­ÐÍÁ´²¢Ô¤·À´«È¾¡£¡£¡£¡£¡£¡£¡£¡£

ѡȡÐ嵀 Map Êý¾ÝÀàÐÍ£¬£¬£¬£¬£¬£¬°ü°ì Object ÀàÐÍ


¹ÌȻԭÐÍ´«È¾·ì϶ӰÏ켫¶ÈÑϳÁ£¬£¬£¬£¬£¬£¬µ«Êǹ¥»÷ÕßÏëÒªÀûÓÃËü²¢Ã»ÓÐÄÇôÈÝÒ×£¬£¬£¬£¬£¬£¬ËûÃDZØÒªÉî¿ÌÏàʼû¿¸ö Web ÀûÓõŤ×÷µÀÀí¡£¡£¡£¡£¡£¡£¡£¡£

½¨¸´½¨Òé


½¨ÒéÉý¼¶lodashµ½4.17.12


²Î¿¼Á´½Ó


https://snyk.io/blog/snyk-research-team-discovers-severe-prototype-pollution-security-vulnerabilities-affecting-all-versions-of-lodash/
https://snyk.io/vuln/SNYK-JS-LODASH-450202
https://snyk.io/blog/snyk-research-team-discovers-severe-prototype-pollution-security-vulnerabilities-affecting-all-versions-of-lodash/
https://snyk-rules-pre-repository.s3.amazonaws.com/snapshots/master/patches/npm/lodash/20190702/lodash_20190702_0_0_1f8ea07746963a535385a5befc19fa687a627d2b.patch