Stagefright is the name given to a group of
software bug
A software bug is a design defect ( bug) in computer software. A computer program with many or serious bugs may be described as ''buggy''.
The effects of a software bug range from minor (such as a misspelled word in the user interface) to sev ...
s that affect versions from
2.2 "Froyo" up until
5.1.1 "Lollipop" of the
Android
Android most commonly refers to:
*Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), a mobile operating system primarily developed by Google
* Android TV, a operating system developed ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
exposing an estimated 950 million devices (95% of all Android devices) at the time.
The name is taken from the affected library, which among other things, is used to unpack
MMS messages. Exploitation of the bug allows an attacker to perform arbitrary operations on the victim's device through
remote code execution
In computer security, arbitrary code execution (ACE) is an attacker's ability to run any commands or code of the attacker's choice on a target machine or in a target process. An arbitrary code execution vulnerability is a security flaw in softwar ...
and
privilege escalation
Privilege escalation is the act of exploiting a Software bug, bug, a Product defect, design flaw, or a configuration oversight in an operating system or software application to gain elevated access to resource (computer science), resources that ar ...
.
Security
Security is protection from, or resilience against, potential harm (or other unwanted coercion). Beneficiaries (technically referents) of security may be persons and social groups, objects and institutions, ecosystems, or any other entity or ...
researchers demonstrate the bugs with a
proof of concept
A proof of concept (POC or PoC), also known as proof of principle, is an inchoate realization of a certain idea or method in order to demonstrate its feasibility or viability. A proof of concept is usually small and may or may not be complete ...
that sends specially crafted MMS messages to the victim device and in most cases requires no
end-user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysops, system administrato ...
actions upon message reception to succeed—the user doesn't have to do anything to 'accept' exploits using the bug; it happens in the background. A phone number is the only information needed to carry out the attack.
The underlying
attack vector
In computer security, an attack vector is a specific path, method, or scenario that can be exploited to break into an IT system, thus compromising its security. The term was derived from the corresponding notion of vector in biology. An attack ve ...
exploits certain
integer overflow
In computer programming, an integer overflow occurs when an arithmetic operation on integers attempts to create a numeric value that is outside of the range that can be represented with a given number of digits – either higher than the maximu ...
vulnerabilities
Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." The understanding of social and environmental vulnerability, as a methodological approach, involves ...
in the Android core component called ,
which is a complex
software library
In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
implemented primarily in
C++
C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programmin ...
as part of the
Android Open Source Project
Android is an operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen-based mobile devices such as smartphones and tablets. Android has historically been developed by ...
(AOSP) and used as a backend engine for playing various multimedia formats such as
MP4
MP4 (formally MPEG-4 Part 14), is a digital multimedia container format most commonly used to store video and audio, but it can also be used to store other data such as subtitles and still images. Like most modern container formats, it allows ...
files.
The discovered bugs have been provided with multiple
Common Vulnerabilities and Exposures (CVE) identifiers, (the latter one has been assigned separately from the others), which are collectively referred to as the Stagefright bug.
In order to exploit the vulnerability one doesn't specifically need an MMS message (which was just an example of using the vulnr for RCE), but any other processing of the specifically crafted media by the vulnerable component is enough, that can be done via the most of applications having to deal with media files but not using own-bundled (which increases size of an app and imposes additional unjustified costs on its developer) pure software (which is slow and not energy efficient) media codecs for that, such as media players/galleries, web browsers (can cause
drive-by
A drive-by shooting is a type of assault that usually involves the perpetrator(s) firing a weapon from within a motor vehicle and then fleeing. Drive-by shootings allow the perpetrators to quickly strike their targets and flee the scene before l ...
compromise) and file managers showing thumbnails (can be used for achieving persistence).
History
The Stagefright bug was discovered by Joshua Drake from the
Zimperium
Zimperium, Inc. is a privately owned mobile security company based in the United States and headquartered in Dallas, Texas. Zimperium provides a mobile security platform purpose-built for enterprise environments.
History
Zimperium, Ltd. was foun ...
security firm, and was publicly announced for the first time on July 27, 2015. Prior to the announcement, Drake reported the bug to
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
in April 2015, which incorporated a related
bugfix
A patch is data that is intended to be used to modify an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities. A patch may be created to improve functionality, usability, or performance. A pa ...
into its internal source code
repositories two days after the report.
In July 2015, Evgeny Legerov, a Moscow-based security researcher, announced that he had found at least two similar
heap overflow
A heap overflow, heap overrun, or heap smashing is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated a ...
zero-day vulnerabilities in the Stagefright library, claiming at the same time that the library has been already exploited for a while. Legerov also confirmed that the vulnerabilities he discovered become unexploitable by applying the
patches Drake submitted to Google.
The public
full disclosure of the Stagefright bug, presented by Drake, took place on August 5, 2015 at the
Black Hat USA
computer security conference
A computer security conference is a convention for individuals involved in computer security. They generally serve as meeting places for system and network administrators, hackers, and computer security experts. Common activities at hacker conven ...
, and on August 7, 2015 at the
DEF CON 23
hacker
A hacker is a person skilled in information technology who achieves goals and solves problems by non-standard means. The term has become associated in popular culture with a security hackersomeone with knowledge of bug (computing), bugs or exp ...
convention.
Following the disclosure, on August 5, 2015, Zimperium publicly released the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
of a proof-of-concept exploit, actual patches for the Stagefright library (although the patches were already publicly available since early May 2015 in the
AOSP and other
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
repositories
), and an Android application called "Stagefright detector" that tests whether an
Android device is vulnerable to the Stagefright bug.
On August 13, 2015, another Stagefright vulnerability, , was published by Exodus Intelligence.
This vulnerability was not mitigated by existing fixes of already known vulnerabilities. CyanogenMod team published a notice that patches for CVE-2015-3864 have been incorporated in CyanogenMod 12.1 source on August 13, 2015.
On October 1, 2015, Zimperium released details of further vulnerabilities, also known as Stagefright 2.0. This vulnerability affects specially crafted MP3 and MP4 files that execute their payload when played using the Android Media server. The vulnerability has been assigned identifier and was found in a core Android library called libutils; a component of Android that has existed since Android was first released. Android 1.5 through 5.1 are vulnerable to this new attack and it is estimated that one billion devices are affected.
Implications
While Google maintains the Android's primary
codebase
In software development, a codebase (or code base) is a collection of source code used to build a particular software system, application, or software component. Typically, a codebase includes only human-written source code system files; thu ...
and
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
, updates for various Android devices are the responsibility of
wireless carrier
A mobile network operator (MNO), also known as a mobile network provider, mobile network carrier, mobile , wireless service provider, wireless carrier, wireless operator, wireless telco, or cellular company, is a telecommunications provider of se ...
s and
original equipment manufacturers (OEMs). As a result, propagating patches to the actual devices often introduces long delays due to a large fragmentation between the manufacturers, device variants, Android versions, and various Android customizations performed by the manufacturers; furthermore, many older or lower cost devices may never receive patched firmware at all. Many of the unmaintained devices would need to be rooted, which violates the terms of many wireless contracts. Therefore, the nature of Stagefright bug highlights the technical and organizational difficulties associated with the propagation of Android patches.
As an attempt to address the delays and issues associated with the propagation of Android patches, on August 1, 2015 Zimperium formed the ''Zimperium Handset Alliance'' (ZHA) as an association of different parties interested in exchanging information and receiving timely updates on Android's security-related issues. Members of the ZHA also received source code of the Zimperium's proof-of-concept Stagefright exploit before it was publicly released. , 25 of the largest Android device OEMs and wireless carriers have joined the ZHA.
Mitigation
Certain
mitigations of the Stagefright bug exist for devices that run unpatched versions of Android, including disabling the automatic retrieval of MMS messages and blocking the reception of
text message
Text messaging, or texting, is the act of composing and sending electronic messages, typically consisting of alphabetic and numeric characters, between two or more users of mobile phones, tablet computers, smartwatches, desktop computer, des ...
s from unknown senders. However, these two mitigations are not supported in all MMS applications (the
Google Hangouts
Google Hangouts was a cross-platform instant messaging (IM) service developed by Google. It originally was a feature of Google+, becoming a standalone product in 2013, when Google also began integrating features from Google+ Messenger and Googl ...
app, for example, only supports the former),
and they do not cover all feasible
attack vector
In computer security, an attack vector is a specific path, method, or scenario that can be exploited to break into an IT system, thus compromising its security. The term was derived from the corresponding notion of vector in biology. An attack ve ...
s that make exploitation of the Stagefright bug possible by other means, such as by opening or downloading a malicious multimedia file using the device's
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
.
At first it was thought that further mitigation could come from the
address space layout randomization
Address space layout randomization (ASLR) is a computer security technique involved in preventing exploitation of memory corruption vulnerabilities. In order to prevent an attacker from reliably redirecting code execution to, for example, a pa ...
(ASLR) feature that was introduced in
Android 4.0 "Ice Cream Sandwich", fully enabled in
Android 4.1 "Jelly Bean";
The version of
Android 5.1 "Lollipop" includes patches against the Stagefright bug.
Unfortunately, later results and exploits lik
Metaphorthat bypass ASLR were discovered in 2016.
As of Android 10, software
codec
A codec is a computer hardware or software component that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder.
In electronic communications, an endec is a device that acts as both an encoder and a decoder o ...
s were moved to a
sandbox
A sandbox is a sandpit, a wide, shallow playground construction to hold sand, often made of wood or plastic.
Sandbox or sand box may also refer to:
Arts, entertainment, and media
* Sandbox (band), a Canadian rock music group
* Sandbox (Gu ...
which effectively mitigates this threat for devices capable of running this version of the OS.
See also
*
Android version history
The version history of the Android mobile operating system began with the public release of its first beta on November 5, 2007. The first commercial version, Android 1.0, was released on September 23, 2008. The operating system has been develope ...
a list and descriptions of the released versions of Android
* Another MMS
remote code execution
In computer security, arbitrary code execution (ACE) is an attacker's ability to run any commands or code of the attacker's choice on a target machine or in a target process. An arbitrary code execution vulnerability is a security flaw in softwar ...
vulnerability was found in 2020 for Samsung Android 8.0 (Oreo) to 10.x (Q) smartphones CV
2020-8899
References
External links
* , August 5, 2015
Exploits database for the Android platform* Google's Android codebase patches against the Stagefright bug
patch #1patch #2an
patch #3
{{Android
2015 in computing
Android (operating system)
Computer security exploits
Software bugs