BF Specification of CVE-2019-14814
-0.png)
Missing verification of 'rate_ie->len' towards a upper limit leads to use of an inconsistent size for an object, allowing a pointer reposition over its bounds, which, when used in 'memcpy()' leads to a heap buffer overflow. If exploited, this can lead to denial of service – system crash; and possibly arbitrary code execution.
vendor:product: linux:linux_kernel:* | Bug Report | Code with Bug | Code with Fix | NVD Entry |
Class | Definition |
DVR | Data are verified (semantics check) or corrected (assign, remove) improperly. |
MAD | The pointer to an object is initialized, repositioned, or reassigned to an improper memory address. |
MUS | An object is initialized, read, written, or cleared improperly. |
Operation | Definition |
Verify | Check data semantics (proper value/meaning) in order to accept (and possibly correct) or reject it. |
Reposition | Change the pointer to another position inside its object. |
Write | Change the data value of an object to another meaningful value. |
Cause/Consequence | Definition |
Code Defect Bug | The operation has a bug, which is the first cause for the chain of weaknesses underlying a software security vulnerability. The bug must be fixed to resolve the vulnerability. |
Missing Code | The entire operation implementation or a part of its specification is absent. |
Data Error/Fault | The object data has harmed semantics or inconsistent or wrong value |
Inconsistent Value | Data value does not correspond to the value of a related data (e.g., inconstancy between the value of a size variable and the actual buffer size). |
Wrong Size | The value used as size does not match the actual size of the object. |
Address Error/Fault | The object address in use is wrong. |
Over Bounds Pointer | Points above the upper boundary of its object. |
Memory Corruption/Disclosure Final Error | An exploitable or undefined system behavior caused by memory addressing, allocation, use, and deallocation bugs. |
Buffer Overflow | Writes above the upper bound of an object -- aka Buffer Over-Write. |
Operation Attribute | Definition |
Mechanism | Shows how the buggy/faulty operation code is performed. |
Range | Checking data are within a (min, max) interval. |
Sequential | The operation is performed after iterating over the object elements. |
Source Code | Shows where the buggy/faulty operation code is in the program -- in what kind of software. |
Codebase | The operation is in the programmer's code - in the application itself. |
Execution Space | Shows where the buggy/faulty operation code is running or with what privilege level). |
Admin | The bugged code runs in an environment with access control policy with unlimited (admin user) permission. |
Kernel | The bugged code runs in an environment with privilege levels with access privileged instructions (e.g., ring 0 in x86 architecture). |
Operand Attribute | Definition |
Data State | Shows where the data come from. |
In Use | The data are from a volatile storage (e.g., RAM, cache memory). |
Address State | Shows where the address is in the memory layout. |
Heap | The object is a dynamically allocated data structure (e.g., via malloc() and new). |
Size Kind | Shows what the limit for traversal of the object is. |
Used | A supplied size for an object. |