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