¡¾Ô´´Â©¶´¡¿Adobe ColdFusion ·´ÐòÁл¯RCE©¶´·ÖÎö£¨CVE-2019-7091£©
Ðû²¼Ê±¼ä 2019-02-14©¶´¸ÅÊö
±¾´Î©¶´ÎªAdobe ColdFusionÖÐFlashGateway·þÎñÖеÄ©¶´¡£Adobe ColdFusionµÄFlashGateway·þÎñ´æÔÚ·´ÐòÁл¯Â©¶´£¬Î´¾Éí·ÝÑéÖ¤µÄ¹¥»÷ÕßÏòÄ¿±êAdobe ColdFusionµÄFlashGateway·þÎñ·¢Ë;«ÐĽṹµÄ¶ñÒâÊý¾Ý£¬¾·´ÐòÁл¯ºó¿ÉÔ¶³ÌÖ´ÐÐÈÎÒâ´úÂë¡£
©¶´Ê±¼äÖá
2018Äê12ÔÂ5ÈÕ£ºÈ·ÈÏ©¶´´æÔÚ²¢¿ªÊ¼ÐÞ¸´£»
2019Äê2ÔÂ12ÈÕ£º¹Ù·½Ðû²¼Õýʽ²¹¶¡¡£
©¶´·ÖÎö
Adobe ColdFusionµÄFlashGateway·þÎñÔÊÐíflashÁ¬½Óµ½CFMLºÍCFCÄ£°å¡£µ±¹¥»÷Õßͨ¹ýHTTPÐÒéÏòFlashGateway·þÎñPOST¾«ÐĽṹµÄActionMessageÐÅÏ¢ºó£¬FlashGateway·þÎñÒÀ´Îͨ¹ýÖÖÖÖÀàÐ͵Äfilter½øÐÐinvoke()²Ù×÷¡£ÔÚflashgateway.filter.SerializationFilterµÄinvokeÒªÁìÖУ¬ÊµÀý»¯MessageDeserializerÀàÐ͵ķ´ÐòÁй¤¾ßdeserializer²¢Í¨¹ýdeserializer.readMessage(m)ÒªÁì¶Ô¾«ÐĽṹµÄActionMessageÏûÏ¢½øÐз´ÐòÁл¯£¬Í¬Ê±½«ActionMessageÖеÄtargetURI¡¢dataµÈÖµ¸³Öµ¸øMessageBody¡£
Íê³ÉÐòÁл¯¹ý³Ìºó£¬´ËʱActionContext contextÖеÄÄÚÈݼ´ÎªÊäÈëÁ÷Öо«ÐĽṹµÄActionMessageÐÅÏ¢¡£ÔÚflashgateway.filter.AdapterFilterµÄinvokeÒªÁìÖУ¬¶ÁÈ¡ActionContextÖеÄMessageBodyÐÅÏ¢¸³Öµ¸øserviceName¡¢functionName¡¢parametersµÈ£¬Í¨¹ýadapter=locateAdapter(context, serviceName, functionName, parameters, serviceType)ÒªÁìµÃµ½flashgateway.adapter.java.JavaBeanAdapterÀàÐ͵Äadapter£¬È»ºóÖ´ÐÐJavaBeanAdapterµÄinvokeFunctionÒªÁì¡£Òªº¦´úÂëÈçÏ£º
...
//¶ÁÈ¡MessageBodyÐÅÏ¢
MessageBody requestMessageBody = context.getRequestMessageBody();
String serviceName = requestMessageBody.serviceName;
String functionName = requestMessageBody.functionName;
List parameters = requestMessageBody.parameters;
...
if (context.isDescribeRequest()) {
result = adapter.describeService(context, serviceName);
} else {
//adapterΪJavaBeanAdapter£¬Ö´ÐÐflashgateway.adapter.java.JavaBeanAdapterµÄinvokeFunctionÒªÁì
result = adapter.invokeFunction(context, serviceName, functionName, parameters); }
ÆäÖУ¬Ä¿±êÖ´ÐÐÒªÁìmethodͨ¹ýMethod method = this.getMethod(parameters, serviceName, functionName, aClass)µÃµ½£»ÒªÁìÖ´Ðй¤¾ßservice ͨ¹ýservice = aClass.newInstance()µÃµ½£»ÒªÁìÖ´ÐвÎÊýparameters.toArray()ͨ¹ýMessageBodyµÃµ½¡£
Óɴ˿ɼû£¬method.invoke(service, parameters.toArray())µÄËùÓòÎÊý¶¼¿É¿Ø£¬Òâζ×Å¿ÉÖ´ÐÐÈÎÒâÒªÁì¡£
Õû¸öÁ÷³ÌÈçÏÂͼËùʾ£º

©¶´ÀûÓÃЧ¹û

Ó°Ïì°æ±¾
ColdFusion 2016 Update 7¼°Ö®Ç°°æ±¾
ColdFusion 2018 Update 1¼°Ö®Ç°°æ±¾
¹æ±Ü·½°¸
Éý¼¶×îв¹¶¡APSB19-10£ºhttps://helpx.adobe.com/security/products/coldfusion/apsb19-10.html¡£