Apple Code-Signing Flaw: Developers Beware

Paul Davis

Okta’s Research and Exploitation team released details on June 12 about an issue with third-party code-signing validation using Apple’s APIs. The flaw, which dates back to 2005, makes it possible for attackers to make malicious code appear to be signed by Apple when, in fact, it is not. Multiple third-party applications are affected – particularly those which offer “whitelisting services” – because developers misinterpreted the code-signing API, leading to incomplete signature validation in their applications.

The flaw affects packages from third-party vendors, including Google (CVE-2018-10405), Facebook (CVE-2018-6336) and VirusTotal (CVE-2018-10408), among others. Affected packages are listed on Okta’s advisory page. However, this flaw likely affects many other vendors.

Tenable’s analysis

This flaw exists because of the difference in the way the system loader (Mach-O) validates signed code and the way it’s validated by third-party security applications using the code- signing API.

The flaw takes advantage of the checking of the Fat/Universal file format and its use of several Mach-O files that apply to specific native CPU architectures. According to Okta, for the vulnerability to work:

  • “The first Mach-O in the Fat/Universal file must be signed by Apple, can be i386, x86_64, or even PPC.
  • The malicious binary, or non-Apple supplied code, must be ad-hoc signed and i386 compiled for an x86_64 bit target macOS.
  • The CPU_TYPE in the Fat header of the Apple binary must be set to an invalid type or a CPU Type that is not native to the host chipset.”

This results in a partial signature check “…but without checking the CA [certificate authority] root of trust.”

Tenable’s solution

Apple does not consider this an issue it would directly fix in the APIs. Instead, Apple has placed the onus on third-party developers who use the code-signing APIs.

Tenable Research has developed the following plugin for the issue and we continue to monitor the situation for our customers:

Plugin ID

Description

110519

Google Santa < 0.9.25

Additional information

Read more >

Published on Jun 13, 2018

People also viewed

Enterprise Territory Manager - North Carolina & South Carolina

Raleigh North Carolina United States Raleigh, North Carolina, United States Sales Sales
Your Role:We are currently searching for an Enterprise Territory Manager. The Territory Manager shall develop business through existing and new clients in their region.Your Opportunity: Maintain and develop the existing client base through regiona...

Enterprise Territory Manager - North Carolina & South Carolina

Columbia South Carolina United States Columbia, South Carolina, United States Sales Sales
Your Role:We are currently searching for an Enterprise Territory Manager. The Territory Manager shall develop business through existing and new clients in their region.Your Opportunity: Maintain and develop the existing client base through regiona...

Technical Support Engineer

Columbia Maryland United States Columbia, Maryland, United States Technical Support Technical Support
Your Role:Tenable is looking for motivated individuals to join our Technical Support Team.  The Technical Support Engineer (TSE) is the first contact for all customers when they require technical assistance.  In a time when the next Spectre and Me...

Technical Support Technical Lead

Columbia Maryland United States Columbia, Maryland, United States Technical Support Technical Support
Your Role:The Technical Support Technical Lead provides advanced troubleshooting to Technical Support Engineers and to our customers. A Technical Support Technical Lead will handle difficult cases which require advanced product and technical knowl...

Technical Support Technical Lead

Columbia Maryland United States Columbia, Maryland, United States Technical Support Technical Support
Your Role:The Technical Support Technical Lead provides advanced troubleshooting to Technical Support Engineers and to our customers. A Technical Support Technical Lead will handle difficult cases which require advanced product and technical knowl...

Sr. Software Engineer - Python

Dublin Dublin Ireland Dublin, Ireland Research Research & Development
Your Role:Tenable is looking for a senior software engineer to join our team. This position will involve designing, developing, and maintaining an automated system for collecting vulnerability and threat information and using that data to generate...

We have big plans for continued global growth, and we’re looking for people who are creative, flexible and dedicated to helping us build something great – something that matters.