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


¾©¹«Íø°²±¸11010802024551ºÅ