Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/bazad/iofirewirefamily-overflow
Vulnerability AnalysisExploitationFuzzingHardware SecurityBinary Exploitation
GitHubbazad/iofirewirefamily-overflow

IOFireWireFamily-overflow

CVE-2016-7608: Buffer overflow in IOFireWireFamily.

View Repository
2139 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

IOFireWireFamily-overflow

IOFireWireFamily-overflow is a proof-of-concept exploit for CVE-2016-7608, a buffer overflow in IOFireWireUserClient that was fixed in macOS Sierra 10.12.2. This vulnerability can be triggered to cause denial of service or possibly arbitrary code execution on devices with a FireWire port.

CVE-2016-7608

The AppleFWOHCI::updateROM method does not check the length of an OSData argument before bcopying its contents into a fixed-size memory region allocated using AppleFWOHCI_IOMemoryBlock32::create.

The exploit can be triggered using an instance of IOFireWireUserClient. Calling the method localConfigDirectory_Create yields a handle to an IOLocalConfigDirectory. Arbitrary data can be added to this directory object using the method, which does not restrict the size of the data beyond the limits of the 32-bit parameter. Finally, the exploit can be triggered by calling , which eventually calls . creates an object representing the compiled ROM, including the user-controlled data added earlier. It then passes the object to , which copies the data into the memory region pointed to by . This is a 4096-byte memory region allocated in using . If more than 4096 bytes are passed to , then the write will overflow this allocation onto the subsequent pages.

localConfigDirectory_addEntry_Buffer
size
localConfigDirectory_Publish
IOFireWireController::UpdateROM
UpdateROM
OSData
OSData
AppleFWOHCI::updateROM
fpNextConfigROM
AppleFWOHCI::setupAsync
AppleFWOHCI_IOMemoryBlock32::create
localConfigDirectory_addEntry_Buffer

In practice, the page after the overflowed buffer is usually unmapped, causing a kernel panic on overflow.

License

The IOFireWireFamily-overflow code is released into the public domain. As a courtesy I ask that if you reference or use any of this code you attribute it to me.

Download Tool