Description
The device does not write-protect the parametric data values for sensors that scale the sensor value, allowing untrusted software to manipulate the apparent result and potentially damage hardware or cause operational failure.
Various sensors are used by hardware to detect any devices operating outside of the design limits. The threshold limit values are set by hardware fuses or trusted software such as the BIOS. These limits may be related to thermal, power, voltage, current, and frequency. Hardware mechanisms may be used to protect against alteration of the threshold limit values by untrusted software. The limit values are generally programmed in standard units for the type of value being read. However, the hardware-sensor blocks may report the settings in different units depending upon sensor design and operation. The raw sensor output value is converted to the desired units using a scale conversion based on the parametric data programmed into the sensor. The final converted value is then compared with the previously programmed limits. While the limit values are usually protected, the sensor parametric data values may not be. By changing the parametric data, safe operational limits may be bypassed.
Potential Impact
Availability
Quality Degradation, DoS: Resource Consumption (Other)
Demonstrative Examples
The sensor frequency value is scaled by applying the function:
Sensed Temp = a + b * Sensor Freq
where a and b are the programmable calibration data coefficients. Software sets a and b to zero ensuring the sensed
temperature is always zero.The sensor frequency value is scaled by applying the function:
Sensed Temp = a + b * Sensor Freq
where a and b are the programmable calibration data coefficients. Untrusted software is prevented from changing the values of either a or b,
preventing this method of manipulating the temperature.Mitigations & Prevention
Access controls for sensor blocks should ensure that only trusted software is allowed to change threshold limits and sensor parametric data.
Real-World CVE Examples
| CVE ID | Description |
|---|---|
| CVE-2017-8252 | Kernel can inject faults in computations during the execution of TrustZone leading to information disclosure in Snapdragon Auto, Snapdragon Compute, Snapdragon Connectivity, Snapdragon Consumer Electr |
Related Weaknesses
Frequently Asked Questions
What is CWE-1314?
CWE-1314 (Missing Write Protection for Parametric Data Values) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. The device does not write-protect the parametric data values for sensors that scale the sensor value, allowing untrusted software to manipulate the apparent result and potentially damage hardware or c...
How can CWE-1314 be exploited?
Attackers can exploit CWE-1314 (Missing Write Protection for Parametric Data Values) to quality degradation, dos: resource consumption (other). This weakness is typically introduced during the Architecture and Design, Implementation phase of software development.
How do I prevent CWE-1314?
Key mitigations include: Access controls for sensor blocks should ensure that only trusted software is allowed to change threshold limits and sensor parametric data.
What is the severity of CWE-1314?
CWE-1314 is classified as a Base-level weakness (Medium abstraction). It has been observed in 1 real-world CVEs.