2189
executing for an extended period of time would likely overheat the device, possibly resulting in
permanent damage to the device.
A ring, oscillator-based temperature sensor will generally report the sensed value as oscillator
frequency rather than degrees centigrade. The temperature sensor will have calibration values
that are used to convert the detected frequency into the corresponding temperature in degrees
centigrade.
Consider a SoC design where the critical maximum temperature limit is set in fuse values to 100C
and is not modifiable by software. If the scaled thermal sensor output equals or exceeds this limit,
the system is commanded to shut itself down.
The thermal sensor calibration values are programmable through registers that are exposed to
system software. These registers allow software to affect the converted temperature output such
that the output will never exceed the maximum temperature limit.
Example Language: Other (Bad)
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.
This weakness may be addressed by preventing access to a and b.
Example Language: Other (Good)
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.
Observed Examples
Reference 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 Electronics Connectivity,
Snapdragon Consumer IOT, Snapdragon Industrial IOT, Snapdragon IoT,
Snapdragon Mobile, Snapdragon Voice and Music, Snapdragon Wearables,
Snapdragon Wired Infrastructure and Networking.
https://www.cve.org/CVERecord?id=CVE-2017-8252
MemberOf Relationships
This MemberOf relationships table shows additional CWE Catgeories and Views that reference this
weakness as a member. This information is often useful in understanding where a weakness fits
within the context of external information sources.
Nature Type ID Name Page
MemberOf 1198 Privilege Separation and Access Control Issues 1194 2470
MemberOf 1206 Power, Clock, Thermal, and Reset Concerns 1194 2473
MemberOf 1396 Comprehensive Categorization: Access Control 1400 2519
Related Attack Patterns
CWE Version 4.14
CWE-1315: Improper Setting of Bus Controlling Capability in Fabric End-point
CWE-1315: Improper Setting of Bus Controlling Capability in Fabric End-point