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

Technical Support Engineer

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 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 Mel...

Sales Development Representative

Singapore Singapore Singapore North Bridge Road, Parkview Square, Singapore, 188788 Lead Generation Sales
Your Role:The Sales Development Representative supports remote sales teams in and is responsible for generating new business via inbound and outbound phone opportunity qualification. Your Opportunity: Perform outbound calling to generate new sales...

Customer Success Manager - APAC Nessus

Singapore Singapore Singapore North Bridge Road, Parkview Square, Singapore, 188788 Customer Success Sales
Your Role:Tenable has an immediate need for a Customer Success Manager who will be responsible for establishing and driving sales activities for our software products within a designated geography. You will be expected to penetrate and prospect na...

Commercial Sales Engineer - Mexico

Mexico City Mexico Mexico Presidenta Masarik, Polanco V Seccion, Mexico City, Mexico, 21045 Sales Engineering Sales
Your Role:Tenable is seeking a Commercial Sales Engineer to assist and drive Business and Technical aspects of strategic selling in your assigned region. You will be partnering with Territory Managers and a strong team of peers to: differentiate t...

Director of Engineering - Shared Services Infrastructure

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Sensors Engineering
Your Role:Tenable is looking for a talented and energetic Director of Software Engineering to lead the Shared Services Infrastructure (SSI) development team. The SSI team helps organizations address key challenges of traditional vulnerability scan...

Principal UX Designer

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Cloud Platforms Engineering
Your Role:Tenable is looking for an extraordinary Principal UX Designer to join our team. Our group is chartered with creating the next generation of security products while at the same time pioneering unprecedented user experience in the digital ...

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.