Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

awesome-bugs

A collection of software bug types and articles showcasing the hunt for and exploitation of them.

Awesome

Bug Types

Command Injection

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

"The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component."

Author(s)SourceArticle
Pedro Ribeiro, Radek DomanskiZero Day Initiative / Flashback TeamCVE-2018-8460: Exposing a double free in Internet Explorer for code execution - (YouTube version)
Lucas TayStar LabsAnalysis & Exploitation of a Recent TP-Link Archer A7 Vulnerability
David YeslandRhino Security LabsExploiting CVE-2018-1335: Command Injection in Apache Tika
Shaun MiraniIndependent Security Evaluators (ISE)Show Mi The Vulns: Exploiting Command Injection in Mi Router 3

Double Free

CWE-415: Double Free

"The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations."

Author(s)SourceArticle
Simon ZuckerbraunZero Day InitiativeCVE-2018-8460: Exposing a double free in Internet Explorer for code execution
Jinwook ShinMicrosoft Security Response CenterMS13-068: A difficult-to-exploit double free in Outlook
Arthur GerkisExodus IntelligencePwn2Own 2019: Microsoft Edge Renderer Exploitation (CVE-2019-0940)
Andrey KonovalovAndrey Konovalov's BlogCVE-2016-2384: Exploiting a double-free in the USB-MIDI Linux kernel driver

NULL Pointer Dereference

CWE-476: NULL Pointer Dereference

"A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit."

Author(s)SourceArticle
LeeqwindxiaodaozhiWin32k NULL-Pointer-Dereference Analysis by Matching the May Update
Sam BrownMWR Labs / F-Secure[PDF] Windows Kernel Exploitation 101: Exploiting CVE-2014-4113

Type Confusion

CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')

"The program allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type."

Author(s)SourceArticle
Man Yue MoGitHub Security LabGhostscript type confusion: Using variant analysis to find vulnerabilities
David WellsTenableExploiting a Webroot Type Confusion Bug
Natalie SilvanovichGoogle Project ZeroOne Perfect Bug: Exploiting Type Confusion in Flash
The ZDI Research TeamZero Day InitiativeCVE-2018-12794: Using Type Confusion to Get Code Execution in Adobe Reader
Microsoft Defender ATP Research TeamMicrosoftUnderstanding type confusion vulnerabilities: CVE-2015-0336
Mark Dowd, Ryan Smith, David DeweyBlack Hat USA 2009Attacking Interoperability
Max Van AmerongenF-SecureExploiting CVE-2019-17026 - A Firefox JIT Bug
Nils EmmerichERNWJava Buffer Overflow with ByteBuffer (CVE-2020-2803) and Mutable MethodType (CVE-2020-2805) Sandbox Escapes
Max Van AmerongenF-SecureExploiting CVE-2019-17026 - A Firefox JIT Bug
Yuki ChenQihoo 360 Vulcan TeamWhen GC Triggers Callback

Unexpected Sign Extension

CWE-194: Unexpected Sign Extension

"The software performs an operation on a number that causes it to be sign extended when it is transformed into a larger data type. When the original number is negative, this can produce unexpected values that lead to resultant weaknesses."

Author(s)SourceArticle
Kim YoungsungLINE EngineeringBuffer overflow in PJSIP, a VoIP open source library

Use After Free

CWE-416: Use After Free

"Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code."

Author(s)SourceArticle
Abdul-Aziz HaririZero Day InitiativeUse-After-Silence: Exploiting a Quietly Patched UAF in VMWare
Man Yue MoGitHub Security LabExploiting a textbook use-after-free in Chrome

Use of Externally-Controlled Format String

CWE-134: Use of Externally-Controlled Format String

"The software uses a function that accepts a format string as an argument, but the format string originates from an external source."

Author(s)SourceArticle
Joe GironGironsecExploit in Skyrim

Write-What-Where

CWE-123: Write-what-where Condition

"Any condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow."

Author(s)SourceArticle
Simon ZuckerbraunZero Day InitiativeRCE Without Native Code: Exploitation of a Write-What-Where in Internet Explorer
Taha KarimConfiantInternet Explorer CVE-2019–1367 Exploitation — part 2
ZecOps Research TeamZecOpsExploiting SMBGhost (CVE-2020-0796) for a Local Privilege Escalation: Writeup + POC

About

A collection of software bug types and articles showcasing the hunt for and exploitation of them.

Topics

Resources

Stars

21 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors