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·þÎñÆ÷µØÖ· £¬Ä¿µÄ·þÎñÆ÷¾Í»áÓëÖ®ÏàÁ¬ £¬Ö´ÐÐÄÚ²¿µÄÏÂÁî¡£


´úÂëÈçÏ£º


×ðÁú¿­Ê± - ÈËÉú¾ÍÊDz«!


¸´ÏÖÈçÏ£º

ÏÂÔØ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¶Ë¿Ú¡£È»ºó´«ÈëÒÔÏÂÊý¾Ý£º


×ðÁú¿­Ê± - ÈËÉú¾ÍÊDz«!


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


×ðÁú¿­Ê± - ÈËÉú¾ÍÊDz«!


ÐÞ¸´½¨Òé


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