An expired hard coded domain, used in a default example service named “StockQuoteService.jws”, could lead to remote code execution. External References: https://rhinosecuritylabs.com/application-security/cve-2019-0227-expired-domain-rce-apache-axis/
Analysis: The server application using axis needs to be vulnerable to server side request forgery flaw (SSRF). In a Server-Side Request Forgery (SSRF) attack, the attacker can abuse functionality on the server to read or update internal resources. The attacker can supply or a modify a URL which the code running on the server will read or submit data to, and by carefully selecting the URLs, the attacker may be able to read server configuration such as AWS metadata, connect to internal services like http enabled databases or perform post requests towards internal services which are not intended to be exposed. This flaw can be elevated via a MITM attacker to achieve code execution on the axis server with the permission of the user running the server application.
Note: The researcher was able to exploit axis via the sample StockQuoteService.jws application shipped with vanilla versions of axis. This was vulnerable to SSRF attacks, and by reserving the domain "www.xmltoday.com" and putting a redirect there, RCE was achieved.
Created axis2 tracking bugs for this issue: Affects: fedora-all [bug 1701100]
There is a proof-of-concept available at: https://github.com/RhinoSecurityLabs/CVEs/tree/master/CVE-2019-0227 Also apache fixed this by removing the sample vulnerable application from the default package via: https://github.com/apache/axis1-java/commit/7043f1ab0397d1ae35f879f2bcc99be1e9b55644