Apache Solr Deserialization Ô¶³Ì´úÂëÖ´ÐÐÎó²îÇ徲ͨ¸æ

Ðû²¼Ê±¼ä 2019-03-13

Îó²î±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2019-0192£¬Î£ÏÕ¼¶±ð£º¸ßΣ£¬ CVSS·ÖÖµ£º¹Ù·½Î´ÆÀ¶¨


Ó°Ïì¹æÄ£


ÊÜÓ°Ïì°æ±¾£º 

Apache Solr 5.0.0 to 5.5.5

Apache Solr 6.0.0 to 6.6.5


Îó²î¸ÅÊö


Apache SolrÊÇÒ»¸ö¿ªÔ´µÄËÑË÷·þÎñÆ÷¡£¾ßÓи߶ȿɿ¿¡¢¿ÉÉìËõºÍÈÝ´íµÄ£¬ÌṩÂþÑÜʽË÷Òý¡¢¸´Öƺ͸ºÔØÆ½ºâÅÌÎÊ¡¢×Ô¶¯¹ÊÕÏ×ªÒÆºÍ»Ö¸´¡¢¼¯ÖÐÉèÖõȹ¦Ð§¡£


SolrΪÌìÏÂÉÏÐí¶à×î´óµÄ»¥ÁªÍøÕ¾µãÌṩËÑË÷ºÍµ¼º½¹¦Ð§¡£Solr ʹÓà Java ÓïÑÔ¿ª·¢£¬Ö÷Òª»ùÓÚ HTTP ºÍ Apache Lucene ʵÏÖ¡£


Apache Solr Öд洢µÄ×ÊÔ´ÊÇÒÔ Document Ϊ¹¤¾ß¾ÙÐд洢µÄ¡£Ã¿¸öÎĵµÓÉһϵÁÐµÄ Field ×é³É£¬Ã¿¸ö Field ÌåÏÖ×ÊÔ´µÄÒ»¸öÊôÐÔ¡£Solr ÖеÄÿ¸ö Document ÐèÒªÓÐÄÜΨһ±êʶÆä×ÔÉíµÄÊôÐÔ£¬Ä¬ÈÏÇéÐÎÏÂÕâ¸öÊôÐÔµÄÃû×ÖÊÇ id£¬ÔÚ Schema ÉèÖÃÎļþÖÐʹÓãº<uniqueKey>id</uniqueKey>¾ÙÐÐÐÎò¡£


¸ÃÎó²îʵÖÊÊÇConfigAPIÔÊÐíͨ¹ýHTTP POSTÇëÇóÉèÖÃSolrµÄJMX·þÎñÆ÷¡£¹¥»÷Õß¿ÉÒÔͨ¹ýConfigAPI½«ÆäÉèÖÃÖ¸Ïò¶ñÒâRMI·þÎñÆ÷£¬Ê¹ÓÃSolrµÄ²»Çå¾²·´ÐòÁл¯À´´¥·¢Solr¶ËÉϵÄÔ¶³Ì´úÂëÖ´ÐС£


ÏÖÔÚ¾Ýͳ¼Æ£¬ÔÚÈ«Çò¹æÄ£ÄÚ¶Ô»¥ÁªÍø¿ª·ÅApache SolrµÄ×ʲúÊýÄ¿¶à´ï15Íǫ̀£¬ÆäÖйéÊôÖйúµØÇøµÄÊÜÓ°Ïì×ʲúÊýĿΪ2ÍòÒÔÉÏ¡£


Îó²îÆÊÎö


Apache SolrÖеÄConfigAPIÔÊÐíÉèÖÃÒ»¸öjmx.serviceUrl£¬Ëü½«½¨ÉèÒ»¸öеÄJMXConnectorServerFactory£¬²¢Í¨¹ý¡°°ó¶¨¡±²Ù×÷´¥·¢¶ÔÄ¿µÄRMI/LDAP·þÎñÆ÷µÄŲÓ᣶ñÒâµÄRMI·þÎñÆ÷¿ÉÒÔÏìÓ¦í§ÒâµÄ¹¤¾ß£¬ÕâЩ¹¤¾ß½«ÔÚSolr¶ËʹÓÃjavaµÄObjectInputStream·´ÐòÁл¯£¬Õâ±»ÒÔΪÊDz»Çå¾²µÄ¡£ÕâÖÖÀàÐ͵ÄÎó²î¿ÉÒÔʹÓÃysoserial¹¤¾ß¡£Æ¾Ö¤Ä¿µÄÀà·¾¶£¬¹¥»÷Õß¿ÉÒÔʹÓÃÆäÖÐÒ»¸ö¡°gadget chain¡±À´´¥·¢Solr¶ËÉϵÄÔ¶³Ì´úÂëÖ´ÐС£


Ê×ÏÈÐèÒªÏàʶһÏÂconfigAPI£¬ËûÖ÷Òª¹¦Ð§ÊǼìË÷»òÐÞ¸ÄÉèÖᣠGETÈÏÕæ¼ìË÷£¬POSTÈÏÕæÖ´ÐÐÏÂÁͨ¹ý´«Èëset-propertyÊôÐÔ£¬½á¹¹¶ñÒâµÄÊý¾Ý£¬´«ÈëÖ¸Ïò¶ñÒâµÄrmi·þÎñÆ÷µÄÁ´½Ó£¬ÁýÕÖ֮ǰ·þÎñÆ÷µÄÔ­ÉèÖã¬Ê¹µÃÄ¿µÄ·þÎñÆ÷Óë¹¥»÷ÕߵĶñÒârmi·þÎñÆ÷ÏàÁ¬£¬¹¥»÷Õß¿ÉÒÔʹÓÃysoserial¹¤¾ß£¬Í¨¹ýrmi·þÎñÆ÷ÏòÔ¶¶ËÄ¿µÄ·þÎñÆ÷·¢ËÍÏÂÁ²¢ÔÚÄ¿µÄ·þÎñÆ÷ÉÏÖ´ÐУ¬ÊµÏÖÔ¶³ÌÏÂÁîÖ´ÐС£


Îó²î´¥·¢µãÔÚJmxMonitoredMap.classÖеÄnewJMXConnectorServerº¯ÊýÖУ¬´Ëº¯Êý¿ÉÒÔÈ÷þÎñÆ÷ÓëеÄrmi·þÎñÆ÷ÏàÅþÁ¬£¬²¢ÇÒÿ´ÎŲÓô˺¯Êý¶¼»á±¬·¢Ò»¸ö²î±ðµÄ¹¤¾ß¡£ÒÔÊǵ±¹¥»÷Õßͨ¹ýÁýÕÖ´«Èë×Ô¼ºµÄrmi·þÎñÆ÷µØÖ·£¬Ä¿µÄ·þÎñÆ÷¾Í»áÓëÖ®ÏàÁ¬£¬Ö´ÐÐÄÚ²¿µÄÏÂÁî¡£


´úÂëÈçÏ£º


Ò«ÊÀÓéÀÖ-¿Æ¼¼¸³Äܳ¡¾°,ÈÃÓéÀÖ¸üÓÐȤ¡£


¸´ÏÖÈçÏ£º

ÏÂÔØApache Solr 5.5.3°æ±¾×÷Ϊ°Ð»ú£¨×¢ÖØ£¬Ò»¶¨ÒªÊ¹ÓÃjre7u25ÒÔÏÂjre£©£¬Ö´ÐÐsolr -e techproducts -Dcom.sun.management.jmxremoteÖ¸ÁÆô·þÎñ¡£


ʹÓÃysoserial¹¤¾ß£¬Ö´ÐÐJava -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12363 Jdk7u21 "calc"Ö¸Á¼àÌý12363¶Ë¿Ú¡£È»ºó´«ÈëÒÔÏÂÊý¾Ý£º


Ò«ÊÀÓéÀÖ-¿Æ¼¼¸³Äܳ¡¾°,ÈÃÓéÀÖ¸üÓÐȤ¡£


Àֳɵ¯³öÅÌËãÆ÷£¬Èçͼ£º


Ò«ÊÀÓéÀÖ-¿Æ¼¼¸³Äܳ¡¾°,ÈÃÓéÀÖ¸üÓÐȤ¡£


ÐÞ¸´½¨Òé


Apache Solr¹Ù·½ÒѾ­ÔÚApache Solr 7.0 ¼°Ö®ºó°æ±¾ÐÞ¸´Á˸ÃÎó²î£¬Óû§¿ÉÒÔ¸üÐÂÖÁApache Solr 7.0 ¼°Ö®ºó°æ±¾£ºhttp://mirror.bit.edu.cn/apache/lucene/solr/¡£


Apache Solr¹Ù·½ÒѾ­Ðû²¼ÁËSOLR-13301.patch ²¹¶¡£¬Óû§ÐèҪװÖò¹¶¡ºóÖØÐ±àÒëSolr£¬²¹¶¡µØÖ·£ºhttps://issues.apache.org/jira/secure/attachment/12961503/SOLR-13301.patch¡£


²Î¿¼Á´½Ó

https://issues.apache.org/jira/browse/SOLR-13301