Intel MPX
E637101
Intel MPX is a hardware-based memory protection extension for Intel processors designed to help prevent buffer overflows by enforcing bounds checking on pointer references.
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
Intel processor extension
ⓘ
hardware-based memory protection extension ⓘ |
| abbreviation | MPX ⓘ |
| architecture |
x86
NERFINISHED
ⓘ
x86-64 ⓘ |
| checkingType | spatial memory bounds checking ⓘ |
| comparedTo |
Intel MPX has higher overhead than some software-based bounds checking
NERFINISHED
ⓘ
Intel MPX is less widely adopted than Intel CET NERFINISHED ⓘ |
| developer | Intel NERFINISHED ⓘ |
| documentation | Intel 64 and IA-32 Architectures Software Developer’s Manual NERFINISHED ⓘ |
| doesNotMitigate | temporal memory safety violations such as use-after-free ⓘ |
| effectOnPerformance | can significantly slow down applications ⓘ |
| feature |
bounds registers
ⓘ
bounds tables ⓘ hardware-assisted bounds checking ⓘ new x86 instructions for bounds checking ⓘ |
| fullName | Intel Memory Protection Extensions NERFINISHED ⓘ |
| introducedBy | Intel Skylake microarchitecture NERFINISHED ⓘ |
| introducedIn | Intel 6th generation Core processors NERFINISHED ⓘ |
| mitigates |
buffer overflows
ⓘ
out-of-bounds memory accesses ⓘ some spatial memory safety violations ⓘ |
| operatingMode | user space ⓘ |
| purpose |
enforce bounds checking on pointer references
ⓘ
prevent buffer overflows ⓘ |
| reasonForDeprecation |
complex software support
ⓘ
high runtime overhead ⓘ limited security benefits compared to alternatives ⓘ |
| relatedTechnology |
AddressSanitizer
NERFINISHED
ⓘ
Intel CET NERFINISHED ⓘ Intel SGX NERFINISHED ⓘ Software-based bounds checking ⓘ |
| requires |
changes to application code or recompilation
ⓘ
compiler support ⓘ operating system support ⓘ runtime libraries ⓘ |
| securityDomain | memory safety ⓘ |
| securityGoal | reduce exploitation of memory corruption vulnerabilities ⓘ |
| standard | part of Intel 64 and IA-32 Architectures extensions set ⓘ |
| status |
deprecated
ⓘ
discontinued in newer Intel processors ⓘ |
| successorTechnology | Intel Control-flow Enforcement Technology NERFINISHED ⓘ |
| supportedBy |
Clang
NERFINISHED
ⓘ
GCC NERFINISHED ⓘ Linux kernel (historically) NERFINISHED ⓘ |
| supportStatusInGCC | marked as deprecated ⓘ |
| supportStatusInLinux | removed from mainline Linux kernel ⓘ |
| uses |
bounds tables in memory to store additional bounds metadata
ⓘ
dedicated bounds registers to store pointer bounds ⓘ |
Referenced by (4)
Full triples — surface form annotated when it differs from this entity's canonical label.