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.

Security Management //

Patch Management

11:00 AM
Alan Zeichick
Alan Zeichick

What You Need to Know About Arbitrary Code Execution Vulnerabilities

Despite their rather innocuous name, ACE vulnerabilities can appear in just about any software. So here's what to do...

They're serious. Notices about arbitrary code execution (ACE) vulnerabilities appear just about every week in alerts from US-CERT — the United States Computer Emergency Readiness Team, a part of the Dept. of Homeland Security. And despite their rather innocuous name, ACE can appear in just about any software.

Recently, US-CERT has warned about ACE vulnerabilities in the Android operating system, NVIDIA device drivers, Apple's IOKit and WebKit code libraries, Adobe' Acrobat Reader, Cisco's SD-WAN solution and Webex conferencing clients, McAfee Total Protection security suite, Google's Chrome, the Kubernetes container management system, and lots more besides.

In a quick examination of some vulnerability databases, I found 19,957 reports of arbitrary code execution vulnerabilities -- so it's not something rare or unusual. So what the heck is this vulnerability, and what can you do about it?

Let's take this one piece at a time. A vulnerability is a weakness in software code that could potentially lead to an exploit by a clever hacker. Just because there's a vulnerability doesn't mean that hackers know how to take advantage of it, and even if a hacker could potentially use that vulnerability, that doesn't mean that there's been a successful attack.

Those weaknesses could be caused by a simple coding error, or by failure by the software designers to imagine all the possible ways that a bad actor could subvert the system. Some vulnerabilities are easy to fix by updating the code; some require a redesign of the software; and others are best caught by anti-malware products running on the server.

Arbitrary code means malicious software code that is written by the hacker, and which generally does bad things. It might open a backdoor into a computer system, or steal vital data (like passwords), or turn off security protections, or turn the computer into a zombie that can be used to launch attacks on other computers. And finally, the arbitrary code execution vulnerability means that somehow, the bad actor could upload that malicious code onto the remote computer, by exploiting a vulnerability, and then trick the remote computer into executing, or running that code. In that case, the hacker is said to have created an arbitrary code execution exploit.

The techniques used to upload the malicious code onto the remote computer, often called injection, can be extremely sophisticated. The hacker might overwrite parts of the original program's file that's stored in memory. It might take advantage of flaws in operating systems or even microprocessors to sneak the malware into buffers or caches, and then the bad software is run automatically.

Here's what enterprises and consumers can do about arbitrary code execution vulnerabilities in commercial software:

  • Be aware. Subscribe to alerts from US-CERT or other agencies, and check to see if any of your software has a new vulnerability of any sort.
  • Install patches and fixes immediately to all of your software, especially if US-CERT or other agencies report that the vulnerability is high priority. ACE vulnerabilities sometimes fall into that category, but not always.
  • Keep your anti-malware products up to date as well, because even if the vulnerability software hasn't been patched yet, anti-malware can sometimes detect and block arbitrary code execution exploits.
  • If your software has a high-priority ACE vulnerability, consider stopping use of that software until it is patched. If patches seem to take too long to appear (say, more than a couple of weeks), complain to the software vendor.

Remember, a vulnerability is a weakness. It doesn't necessarily mean that you've been hacked, so don't overreact to an ACE warning report. However, ACE vulnerabilities can be serious, especially the longer they go unpatched, because more and more hackers may choose to exploit them. So, stay on top of those patches and fixes, okay?

Alan Zeichick is principal analyst at Camden Associates, a technology consultancy in Phoenix, Arizona, specializing in enterprise networking, cybersecurity, and software development. Follow him @zeichick.

Comment  | 
Print  | 
More Insights
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
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
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 ...
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....
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 ...
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...
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...