Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

ABTV

8/16/2019
01:25 PM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

CTF Protocol Serves as a Low-Level Way to Take Over Windows Machines

There is a protocol in Windows that has been around since the days of Windows XP, which has been found to be insecure.

There is a protocol in Windows that has been around since the days of Windows XP, which has been found to be insecure.

Tavis Ormandy, a security researcher with Google's Project Zero security team, was the one that first notified Microsoft about the problems with it. He published a blog about it this week, which went public after 90 days for the responsible disclosure period.

He found messages between windows in a session were being handled by "CTF", which is buried as part of the Windows Text Services Framework. TSF also manages things like input methods, keyboard layouts, text processing and the like.

Ormandy put the intended function this way: "When users start an app, Windows also starts a CTF client for that app. The CTF client receives instructions from a CTF server about the OS system language and the keyboard input methods."

He goes on to say, "If the OS input method changes from one language to another, then the CTF server notifies all CTF clients, who then change the language in each Windows app accordingly, and in real-time."

So, CTF can change the rails the program is running on in real time. But Ormandy found there was no access control in CTF.

Any application, any user -- even a sandboxed process -- can connect to any CTF session. Clients are expected to pass along all of their thread data, but there is no authentication involved and an attacker can simply lie about it.

A system resident attacker that gained access to the system by some other means could connect to another user's active session via CTF and take it over. They could send messages to the CTF client that will be interpreted by it as coming from Windows. If an app has a high level of privileges, the attacker may be able to take full control over a victim's computer.

You don't have to take Ormandy's word alone on this. He recorded a demo to show what he was talking about.

Microsoft admitted the problem after being told about it by Ormandy, assigning CVE-2019-1162 to the privilege escalation concept.

MSFT even made some patches in the most recent Patch Tuesday that were specifically directed at it. But those patches alone are not going to fix everything that could arise from CTF misuse.

The protocol is used as low-level glue for Windows, and is embedded deeply into it. As Ormandy says, "CTF is vast and complex. The CTF system was most likely designed for LPC in Windows NT and bolted onto ALPC when it became available in Vista and later. The code is clearly dated with many legacy design decisions."

Dealing with all the second-order effects of CTF is not going to be easy. MSFT may be able to patch known problems as they did this week, but attackers will now have a new way to spread their malware.

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/25/2020
Hacking Yourself: Marie Moe and Pacemaker Security
Gary McGraw Ph.D., Co-founder Berryville Institute of Machine Learning,  9/21/2020
Startup Aims to Map and Track All the IT and Security Things
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/22/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-15208
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a `DCHECK` which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can ...
CVE-2020-15209
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one....
CVE-2020-15210
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, if a TFLite saved model uses the same tensor as both input and output of an operator, then, depending on the operator, we can observe a segmentation fault or just memory corruption. We have patched the issue in d58c96946b and ...
CVE-2020-15211
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices f...
CVE-2020-15212
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the segment ids tensor. Users having access to `segment_ids_data` can alter `output_index` and then write to outside of `outpu...