available in
protected mode This type of
privilege escalation occurs when the user or process is able to obtain a higher level of access than an administrator or system developer intended, possibly by performing
kernel-level operations.
Examples In some cases, a high-privilege application assumes that it would only be provided with input matching its interface specification, thus doesn't validate this input. Then, an attacker may be able to exploit this assumption, in order to run unauthorized code with the application's privileges: • Some
Windows services are configured to run under the Local System user account. A vulnerability such as a
buffer overflow may be used to execute
arbitrary code with privilege elevated to Local System. Alternatively, a system service that is impersonating a lesser user can elevate that user's privileges if errors are not handled correctly while the user is being impersonated (e.g. if the user has introduced a malicious
error handler) • Under some legacy versions of the
Microsoft Windows operating system, the All Users
screensaver runs under the Local System account – any account that can replace the current screensaver
binary in the file system or
Registry can therefore elevate privileges. • A Windows Program, such as ProcessHacker2 or System Informer, can be used to run programs like
cmd.exe as built-in accounts, also providing access to
TrustedInstaller. Another method is to use a kernel driver like winring0.sys to run programs with kernel access. This driver can also be exploited to run programs as an administrator, bypassing UAC. • In certain versions of the
Linux kernel it was possible to write a program that would set its current directory to /etc/cron.d, request that a
core dump be performed in case it crashes and then have itself
killed by another process. The core dump file would have been placed at the program's current directory, that is, /etc/cron.d, and
cron would have treated it as a text file instructing it to run programs on schedule. Because the contents of the file would be under attacker's control, the attacker would be able to execute any program with
root privileges. •
Cross Zone Scripting is a type of privilege escalation attack in which a website subverts the security model of web browsers, thus allowing it to run malicious code on client computers. • There are also situations where an application can use other high privilege services and has incorrect assumptions about how a client could manipulate its use of these services. An application that can execute
Command line or
shell commands could have a
Shell Injection vulnerability if it uses unvalidated input as part of an executed command. An attacker would then be able to run system commands using the application's privileges. •
Texas Instruments calculators (particularly the
TI-85 and
TI-82) were originally designed to use only interpreted programs written in dialects of
TI-BASIC; however, after users discovered bugs that could be exploited to allow native
Z-80 code to run on the calculator hardware, TI released programming data to support third-party development. (This did not carry on to the
ARM-based
TI-Nspire, for which jailbreaks using
Ndless have been found but are still actively fought against by Texas Instruments.) • Some versions of the
iPhone allow an unauthorised user to access the phone while it is locked.
Jailbreaking In computer security,
jailbreaking is defined as the act of removing limitations that a vendor attempted to hard-code into its software or services. A common example is the use of toolsets to break out of a
chroot or
jail in
UNIX-like operating systems or bypassing
digital rights management (DRM). In the former case, it allows the user to see files outside of the
filesystem that the administrator intends to make available to the application or user in question. In the context of DRM, this allows the user to run arbitrarily defined code on devices with DRM as well as break out of chroot-like restrictions. The term originated with the
iPhone/
iOS jailbreaking community and has also been used as a term for
PlayStation Portable hacking; these devices have repeatedly been subject to jailbreaks, allowing the execution of arbitrary code, and sometimes have had those jailbreaks disabled by vendor updates.
iOS systems including the
iPhone,
iPad, and
iPod Touch have been subject to
iOS jailbreaking efforts since they were released, and continuing with each firmware update. iOS jailbreaking tools include the option to install package frontends such as
Cydia and
Installer.app, third-party alternatives to the
App Store, as a way to find and install system tweaks and binaries. To prevent iOS jailbreaking, Apple has made the device
boot ROM execute checks for
SHSH blobs in order to disallow uploads of custom kernels and prevent software downgrades to earlier, jailbreakable firmware. In an "untethered" jailbreak, the iBoot environment is changed to execute a boot ROM exploit and allow submission of a patched low level bootloader or hack the kernel to submit the jailbroken kernel after the SHSH check. A similar method of jailbreaking exists for
S60 Platform smartphones, where utilities such as HelloOX allow the execution of unsigned code and full access to system files. or edited firmware (similar to the M33 hacked firmware used for the
PlayStation Portable) to circumvent restrictions on
unsigned code.
Nokia has since issued updates to curb unauthorized jailbreaking, in a manner similar to Apple. In the case of gaming consoles, jailbreaking is often used to execute
homebrew games. In 2011,
Sony, with assistance from law firm
Kilpatrick Stockton, sued 21-year-old
George Hotz and associates of the group fail0verflow for jailbreaking the
PlayStation 3 (see
Sony Computer Entertainment America v. George Hotz and
PlayStation Jailbreak). Jailbreaking can also occur in systems and software that use
generative artificial intelligence models, such as
ChatGPT. In jailbreaking attacks on artificial intelligence systems, users are able to manipulate the model to behave differently than it was programmed, making it possible to reveal information about how the model was instructed and induce it to respond in an anomalous or harmful way.
Android Android phones can be officially rooted by either going through manufacturers controlled process, using an exploit to gain root, or installing a rooting modification. Manufacturers allow rooting through a process they control, while some allow the phone to be rooted simply by pressing specific key combinations at boot time, or by other self-administered methods. Using a manufacturers method almost always factory resets the device, making rooting useless to people who want to view the data, and also voids the warranty permanently, even if the device is derooted and reflashed. Software exploits commonly either target a root-level process that is accessible to the user, by using an exploit specific to the phone's kernel, or using a known Android exploit that has been patched in newer versions; by not upgrading the phone, or intentionally downgrading the version.
Mitigation strategies Operating systems and users can use the following strategies to reduce the risk of privilege escalation: •
Data Execution Prevention •
Address space layout randomization (to make it harder for
buffer overruns to execute privileged instructions at known addresses in memory) • Running applications with
least privilege (for example by running
Internet Explorer with the Administrator
SID disabled in the process
token) in order to reduce the ability of buffer overrun
exploits to abuse the privileges of an elevated user. • Requiring kernel mode code to be digitally signed. •
Patching • Use of
compilers that trap buffer overruns • Encryption of software and/or
firmware components. • Use of an operating system with Mandatory Access Controls (MAC) such as
SELinux • Kernel Data Relocation Mechanism (dynamically relocates privilege information in the running kernel, preventing privilege escalation attacks using memory corruption) Recent research has shown what can effectively provide protection against privilege escalation attacks. These include the proposal of the additional kernel observer (AKO), which specifically prevents attacks focused on OS vulnerabilities. Research shows that AKO is in fact effective against privilege escalation attacks. ==Horizontal==