[ https://issues.apache.org/jira/browse/OFBIZ-12332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17425349#comment-17425349 ]
Jacques Le Roux commented on OFBIZ-12332: ----------------------------------------- Hi Jie Zhu, Thank you for the new payload. If I use it as is, this is what I get: * In Burp browser: {noformat} HTTP Status 400 – Bad Request Type Status Report Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). Apache Tomcat/9.0.48 {noformat} * Nothing in OFBiz log (catched before by Tomcat) If I use [^LocallyAdaptedPayload.txt] with the right JSESSIONID copied from initial HTTP request to avoid the login screen. After of course being logged in webtools. Else you get this error: "org.apache.xmlrpc.XmlRpcException: Failed to parse / read XML-RPC request: Premature end of file." because the payload is already read by the login request, so there is nothing left. * In Burp browser: {code:xml} This XML file does not appear to have any style information associated with it. The document tree is shown below. <methodResponse xmlns:ex="http://ws.apache.org/xmlrpc/namespaces/extensions"> <fault> <value> <struct> <member> <name>faultCode</name> <value> <i4>0</i4> </value> </member> <member> <name>faultString</name> <value>Failed to read XML-RPC request. Please check logs for more information</value> </member> </struct> </value> </fault> </methodResponse> {code} BTW I get a 404 at [http://ws.apache.org/xmlrpc/namespaces/extensions] same for HTTPS * In OFBiz log {noformat} 2021-10-07 07:21:38,729 |sse-nio-8443-exec-57 |ControlServlet |T| [[[webtools::xmlrpc (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]] 2021-10-07 07:21:38,767 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.0s, 0 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/handlers-controller.xml 2021-10-07 07:21:38,768 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.012s, 52 requests, 21 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/common-controller.xml 2021-10-07 07:21:38,779 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.001s, 26 requests, 10 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/portal-controller.xml 2021-10-07 07:21:38,789 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.0s, 30 requests, 13 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/security-controller.xml 2021-10-07 07:21:38,800 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.0s, 5 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/tempexpr-controller.xml 2021-10-07 07:21:38,801 |sse-nio-8443-exec-57 |ConfigXMLReader |I| controller loaded: 0.058s, 123 requests, 79 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/webapp/webtools/WEB-INF/controller.xml 2021-10-07 07:21:38,862 |sse-nio-8443-exec-57 |XmlRpcEventHandler |E| null java.lang.RuntimeException: InvocationTargetException: java.lang.reflect.InvocationTargetException at org.apache.commons.beanutils.BeanComparator.compare(BeanComparator.java:171) ~[commons-beanutils-1.9.4.jar:1.9.4] at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:722) ~[?:1.8.0_202] at java.util.PriorityQueue.siftDown(PriorityQueue.java:688) ~[?:1.8.0_202] at java.util.PriorityQueue.heapify(PriorityQueue.java:737) ~[?:1.8.0_202] at java.util.PriorityQueue.readObject(PriorityQueue.java:797) ~[?:1.8.0_202] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170) ~[?:1.8.0_202] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178) ~[?:1.8.0_202] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) ~[?:1.8.0_202] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) ~[?:1.8.0_202] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) ~[?:1.8.0_202] at org.apache.xmlrpc.parser.SerializableParser.getResult(SerializableParser.java:36) ~[xmlrpc-common-3.1.3.jar:3.1.3] at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:78) ~[xmlrpc-common-3.1.3.jar:3.1.3] at org.apache.xmlrpc.parser.MapParser.endElement(MapParser.java:185) ~[xmlrpc-common-3.1.3.jar:3.1.3] at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endElement(RecursiveTypeParserImpl.java:103) ~[xmlrpc-common-3.1.3.jar:3.1.3] at org.apache.xmlrpc.parser.XmlRpcRequestParser.endElement(XmlRpcRequestParser.java:165) ~[xmlrpc-common-3.1.3.jar:3.1.3] at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) ~[xercesImpl-2.12.1.jar:2.12.1] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) ~[xercesImpl-2.12.1.jar:2.12.1] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl-2.12.1.jar:2.12.1] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) ~[xercesImpl-2.12.1.jar:?] at org.apache.ofbiz.webapp.event.XmlRpcEventHandler.getRequest(XmlRpcEventHandler.java:290) ~[main/:?] at org.apache.ofbiz.webapp.event.XmlRpcEventHandler.execute(XmlRpcEventHandler.java:232) [main/:?] at org.apache.ofbiz.webapp.event.XmlRpcEventHandler.invoke(XmlRpcEventHandler.java:147) [main/:?] at org.apache.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:1026) [main/:?] at org.apache.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:677) [main/:?] at org.apache.ofbiz.webapp.control.ControlServlet.handle(ControlServlet.java:231) [main/:?] at org.apache.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:81) [main/:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) [tomcat-servlet-api-9.0.48.jar:4.0.FR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [tomcat-servlet-api-9.0.48.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.ofbiz.webapp.control.SameSiteFilter.doFilter(SameSiteFilter.java:45) [main/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:185) [main/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.ofbiz.webapp.control.ControlFilter.doFilter(ControlFilter.java:156) [main/:?] at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:57) [tomcat-servlet-api-9.0.48.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.13.2.jar:2.13.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-catalina-9.0.48.jar:9.0.48] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-coyote-9.0.48.jar:9.0.48] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote-9.0.48.jar:9.0.48] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-coyote-9.0.48.jar:9.0.48] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) [tomcat-coyote-9.0.48.jar:9.0.48] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote-9.0.48.jar:9.0.48] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util-9.0.48.jar:9.0.48] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] 2021-10-07 07:21:38,863 |sse-nio-8443-exec-57 |RequestHandler |I| Ran Event [xmlrpc:#] from [request], result is [null] 2021-10-07 07:21:38,863 |sse-nio-8443-exec-57 |ControlServlet |T| [[[webtools::xmlrpc (Domain:https://localhost)] Request Done- total:0.134,since last([webtools::xmlrpc...):0.134]] {noformat} So for now I'm unable to reproduce. Could you please reproduce the issue at [https://demo-trunk.ofbiz.apache.org/webtools/control/xmlrpc/] TIA for your help > post-auth Remote Code Execution Vulnerability > --------------------------------------------- > > Key: OFBIZ-12332 > URL: https://issues.apache.org/jira/browse/OFBIZ-12332 > Project: OFBiz > Issue Type: Sub-task > Components: framework/webtools > Affects Versions: Trunk > Reporter: Jie Zhu > Assignee: Jacques Le Roux > Priority: Minor > Attachments: LocallyAdaptedPayload.txt, > image-2021-10-03-11-43-20-021.png, image-2021-10-03-11-43-31-228.png, > payload.txt, payload_windows.txt > > > I found that the latest version of the OFBiz framework was affected by an > XMLRPC Remote Code Execution Vulnerability. > This vulnerability is caused by incomplete patch repair of cve-2020-9496. > !image-2021-10-03-11-43-20-021.png! > Successful exploit: > !image-2021-10-03-11-43-31-228.png! > Please refer to the attachment for payload details.This HTTP request will > execute the command `touch /tmp/success` file on the attacked server. > -- This message was sent by Atlassian Jira (v8.3.4#803005)