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.

Risk

Pointing to Danger

Researcher to show how dangling pointer flaws, long viewed as inconsequential, can be a path to serious infection

A bit of commonly ignored, leftover code found in many applications could give attackers a chance to remotely control or load malware onto your systems, a research team said this week.

Jonathan Afek and Adi Sharabani, two researchers at Watchfire Security, have discovered a practical method of exploiting the "dangling pointer" flaw that is found in many applications after they have been modified. The two experts will present their exploit at the Black Hat conference next week.

Dangling pointers are found in many applications when the object they previously pointed to is moved or deleted. "The pointer still points to the memory location of the deallocated memory," explains Wikipedia. "As the system may reallocate the previously freed memory to another process, if the original program then dereferences the (now) dangling pointer, unpredictable behavior may result, as the memory may now contain completely different data."

The Watchfire researchers have found a way to get control of the formerly dangling pointers and point them toward malware introduced by the attacker. Using this method, an attacker could remotely control or infect any machine that has a dangling pointer in one of its apps, the researchers say.

"This is a completely new class of attacks, which is something we haven't seen in a while," says Danny Allan, director of security research at Watchfire. "It's a flaw that all developers know about, but has never really been seen as a security threat."

The dangling pointer may be just the first in a line of "benign" software flaws that attackers might be able to put to use, Allan explains. "Up to now, it's only been seen as a software quality issue," he says. "We don't even know how prevalent it is, because it's not a flaw that anybody's ever been asked to report."

Dangling pointers are essentially old code that should be dumped in the trash when the objects they point to are deleted or moved, explains Allan. But just as Word users sometimes forget to delete old formatting codes left in their documents, programmers often forget to delete their pointers.

A well-known dangling pointer in Microsoft's IIS Web server software had been around for years, and has occasionally caused server crashes, but the software giant never bothered to patch it because it wasn't a security threat. "When we first called Microsoft to tell them that we'd found a way to exploit dangling pointers, they told us it wasn't possible," Allan says. "But when we showed them what we'd done, they listened."

In a nutshell, the Watchfire experts have found a way to automatically reproduce objects and virtual function tables until the dangling pointer lands in the specific place where the attacker wants it, Allan says. "They can put any binary code in that place," he says. "They could put in shell code to control the system, or they could just crash it or delete data," he says. "It's really a perfect vehicle for remote zero-day attacks."

A dangling pointer can be found in any application, not just Web servers, "but the Web server is an attractive target because it's open to the public," Allan says.

Watchfire does not plan to develop an exploit of the vulnerability, but the company does want to use the dangling pointer as a jumping-off point to get enterprises to re-check their development processes.

"We've succeeded in taking a 'quality' bug and turning it into something that's much more high risk," Allan says. "This could open up a lot of investigation into flaws that have been overlooked in software for a long time. We suspect this may be just the tip of the iceberg."

— Tim Wilson, Site Editor, Dark Reading

  • Microsoft Corp. (Nasdaq: MSFT)
  • Watchfire Corp. Tim Wilson is Editor in Chief and co-founder of Dark Reading.com, UBM Tech's online community for information security professionals. He is responsible for managing the site, assigning and editing content, and writing breaking news stories. Wilson has been recognized as one ... View Full Bio

    Comment  | 
    Print  | 
    More Insights
  • Comments
    Newest First  |  Oldest First  |  Threaded View
    Sodinokibi Ransomware: Where Attackers' Money Goes
    Kelly Sheridan, Staff Editor, Dark Reading,  10/15/2019
    Data Privacy Protections for the Most Vulnerable -- Children
    Dimitri Sirota, Founder & CEO of BigID,  10/17/2019
    State of SMB Insecurity by the Numbers
    Ericka Chickowski, Contributing Writer,  10/17/2019
    Register for Dark Reading Newsletters
    White Papers
    Video
    Cartoon
    Current Issue
    7 Threats & Disruptive Forces Changing the Face of Cybersecurity
    This Dark Reading Tech Digest gives an in-depth look at the biggest emerging threats and disruptive forces that are changing the face of cybersecurity today.
    Flash Poll
    2019 Online Malware and Threats
    2019 Online Malware and Threats
    As cyberattacks become more frequent and more sophisticated, enterprise security teams are under unprecedented pressure to respond. Is your organization ready?
    Twitter Feed
    Dark Reading - Bug Report
    Bug Report
    Enterprise Vulnerabilities
    From DHS/US-CERT's National Vulnerability Database
    CVE-2019-17424
    PUBLISHED: 2019-10-22
    A stack-based buffer overflow in the processPrivilage() function in IOS/process-general.c in nipper-ng 0.11.10 allows remote attackers (serving firewall configuration files) to achieve Remote Code Execution or Denial Of Service via a crafted file.
    CVE-2019-16404
    PUBLISHED: 2019-10-21
    Authenticated SQL Injection in interface/forms/eye_mag/js/eye_base.php in OpenEMR through 5.0.2 allows a user to extract arbitrary data from the openemr database via a non-parameterized INSERT INTO statement, as demonstrated by the providerID parameter.
    CVE-2019-17400
    PUBLISHED: 2019-10-21
    The unoconv package before 0.9 mishandles untrusted pathnames, leading to SSRF and local file inclusion.
    CVE-2019-17498
    PUBLISHED: 2019-10-21
    In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a ...
    CVE-2019-16969
    PUBLISHED: 2019-10-21
    In FusionPBX up to 4.5.7, the file app\fifo_list\fifo_interactive.php uses an unsanitized "c" variable coming from the URL, which is reflected in HTML, leading to XSS.