CWE-1267: Policy Uses Obsolete Encoding
Description
The product uses an obsolete encoding mechanism to implement access controls.
Submission Date :
April 18, 2020, midnight
Modification Date :
2023-06-29 00:00:00+00:00
Organization :
Intel Corporation
Extended Description
Within a System-On-a-Chip (SoC), various circuits and hardware engines generate transactions for the purpose of accessing (read/write) assets or performing various actions (e.g., reset, fetch, compute, etc.). Among various types of message information, a typical transaction is comprised of source identity (identifying the originator of the transaction) and a destination identity (routing the transaction to the respective entity). Sometimes the transactions are qualified with a Security Token. This Security Token helps the destination agent decide on the set of allowed actions (e.g., access to an asset for reads and writes). A policy encoder is used to map the bus transactions to Security Tokens that in turn are used as access-controls/protection mechanisms. A common weakness involves using an encoding which is no longer trusted, i.e., an obsolete encoding.
Example - 1
Trusted = "1"Trusted = "0"If (Bus_transaction[14] == "1")ElseAllow access to AES-Key registersDeny access to AES-Key registersIf (trusted)Else
Security_Token[4:0] = Bus_transaction[15:11]Allow access to AES-Key registersDeny access to AES-Key registersIf (AES_KEY_ACCESS_POLICY[Security_Token] == "1")Else
Related Weaknesses
This table shows the weaknesses and high level categories that are related to this weakness. These relationships are defined to give an overview of the different insight to similar items that may exist at higher and lower levels of abstraction.
Visit http://cwe.mitre.org/ for more details.