New issue
Advanced search Search tips
Starred by 1 user
Status: Fixed
Owner:
Closed: May 2016
Cc:



Sign in to add a comment
TrendMicro: Multiple HTTP problems with CoreServiceShell.exe
Project Member Reported by taviso@google.com, Mar 23 2016 Back to list
The main component of Trend Micro Antivirus is CoreServiceShell.exe, which runs as NT AUTHORITY\SYSTEM. 

The CoreServiceShell includes an HTTP daemon, which is used for redirecting network content inspection among other things. For example, if you attempt to visit a blacklisted page, the request is redirected to http://localhost:37848/ and a warning page is displayed.

There are multiple problems with this daemon, first of all, there's a trivial path traversal in the /loadhelp/ and /wtp/ endpoints. The daemon checks paths for "../..", but this doesn't work because you can just do "..\..", which is an entirely valid path separator on Windows.

There's also some trivial header injection bugs, e.g:

http://localhost:37848/continue/TiCredToken=29579&Source=&URL=%0aContent-Type:%20text/html%0aContent-Length:%2032%0a%0a<h1>hello</h1>

By combining these two issues, you can remotely access files as SYSTEM on a Trend Micro machine.


This bug is subject to a 90 day disclosure deadline. If 90 days elapse
without a broadly available patch, then the bug report will automatically
become visible to the public.

 
Project Member Comment 1 by taviso@google.com, Mar 24 2016
Labels: -Vendor-taviso Vendor-TrendMicro
Project Member Comment 2 by taviso@google.com, Mar 24 2016
I happened to notice another problem, the file loader.html has an obvious XSS if the window is 10px wide. I know that's an odd condition, but an attacker can easily force that with something like

<iframe width="26px" scrolling="no" src="http://localhost:37848/LocalHelp/loader?javascript:alert(1)">

The code is like this:

	var st = getStyle("a", "width");
	
	if (st == "10px") {
		var queryString = window.location.search;
		if (queryString.length > 0 && queryString.charAt(0) == "?") {
			var url = queryString.substr(1);
		}
		window.location.href = url;
        }

I honestly have no idea what the author intended, but this bug can be used with the path traversal to access arbitrary local files, or even authenticated remote files by forcing them to be downloaded (<a href=foo download>.click())

Project Member Comment 3 by taviso@google.com, May 11 2016
Labels: -Restrict-View-Commit
Status: Fixed
Update from TM:

I hope you have been well.
 
We wanted to let you know that we have released a new build of Trend Micro Security to address the issues you have raised to us.  It has been uploaded to our ActiveUpdate servers, and most customers should be receiving the update within the couple of days.
 
A Security Bulletin has been issued at: https://esupport.trendmicro.com/en-us/home/pages/technical-support/1114095.aspx for your reference.
 
On behalf of the Trend Micro team, we wanted to thank you again for working with us to address and responsibly disclose these issues for our customers.
 
If you have any questions or concerns, please let us know.
 
Comment 4 Deleted
Sign in to add a comment