An XML External Entity attack is a type of attack against an application that parses XML input. This attack occurs when XML input containing a reference to an external entity is processed by a weakly configured XML parser. This attack may lead to the disclosure of confidential data, denial of service, server side request forgery, port scanning from the perspective of the machine where the parser is located, and other system impacts.
Where the Issue Occurred
The line of code given below create an XML parser for parsing an XML file (or a uxf file) opened and parses the data within:
This parsing is done in an insecure manner and does not prohibit the usage of XML external entities. This allows attackers to do the above-mentioned attacks on a targeted user.
Attack Scenario
An attacker could be sharing a diagram made within the Umlet software and exported as a uxf file. An example could be sharing a class diagram with a peer and exploiting that trusted relationship to perform unauthorised actions within their system (or even just downloading a class diagram online).
PoC File
File named test.uxf
<?xml version="1.0" ?>
<!DOCTYPEr [
<!ELEMENT r ANY >
<!ENTITYsp SYSTEM "http://0dd.zone">
]>
<r>&sp;</r>
The text was updated successfully, but these errors were encountered:
After these changes the example diagram cannot be opened (an error is shown in the log)
There is a new umlet cfg to disable these features: secure_xml_processing=true|false (defaults to true) in case someone needs those features or has problems with the new secure settings
The Issue
An XML External Entity attack is a type of attack against an application that parses XML input. This attack occurs when XML input containing a reference to an external entity is processed by a weakly configured XML parser. This attack may lead to the disclosure of confidential data, denial of service, server side request forgery, port scanning from the perspective of the machine where the parser is located, and other system impacts.
Where the Issue Occurred
The line of code given below create an XML parser for parsing an XML file (or a uxf file) opened and parses the data within:
umlet/umlet-swing/src/main/java/com/baselet/diagram/io/DiagramFileHandler.java
Line 252 in 79c4e46
This parsing is done in an insecure manner and does not prohibit the usage of XML external entities. This allows attackers to do the above-mentioned attacks on a targeted user.
Attack Scenario
An attacker could be sharing a diagram made within the Umlet software and exported as a uxf file. An example could be sharing a class diagram with a peer and exploiting that trusted relationship to perform unauthorised actions within their system (or even just downloading a class diagram online).
PoC File
File named test.uxf
The text was updated successfully, but these errors were encountered: