View: Weaknesses Introduced During Design

Incomplete
Type: Implicit
Objective

This view (slice) lists weaknesses that can be introduced during design.

Membership
IDNameDescription
CWE-1007Insufficient Visual Distinction of Homoglyphs Presented to UserThe product displays information or identifiers to a user, but the display mechanism does not make it easy for the user to distinguish between visually similar or identical glyphs (homoglyphs), which may cause the user to misinterpret a glyph and perform an unintended, insecure action.
CWE-1037Processor Optimization Removal or Modification of Security-critical CodeThe developer builds a security-critical protection mechanism into the software, but the processor optimizes the execution of the program such that the mechanism is removed or modified.
CWE-1038Insecure Automated OptimizationsThe product uses a mechanism that automatically optimizes code, e.g. to improve a characteristic such as performance, but the optimizations can have an unintended side effect that might violate an intended security assumption.
CWE-1039Inadequate Detection or Handling of Adversarial Input Perturbations in Automated Recognition MechanismThe product uses an automated mechanism such as machine learning to recognize complex data inputs (e.g. image or audio) as a particular concept or category, but it does not properly detect or handle inputs that have been modified or constructed in a way that causes the mechanism to detect a different, incorrect concept.
CWE-1044Architecture with Number of Horizontal Layers Outside of Expected RangeThe product's architecture contains too many - or too few - horizontal layers.
CWE-1059Insufficient Technical DocumentationThe product does not contain sufficient technical or engineering documentation (whether on paper or in electronic form) that contains descriptions of all the relevant software/hardware elements of the product, such as its usage, structure, architectural components, interfaces, design, implementation, configuration, operation, etc.
CWE-115Misinterpretation of InputThe product misinterprets an input, whether from an attacker or another product, in a security-relevant fashion.
CWE-1173Improper Use of Validation FrameworkThe product does not use, or incorrectly uses, an input validation framework that is provided by the source language or an independent library.
CWE-1176Inefficient CPU ComputationThe product performs CPU computations using algorithms that are not as efficient as they could be for the needs of the developer, i.e., the computations can be optimized further.
CWE-1189Improper Isolation of Shared Resources on System-on-a-Chip (SoC)The System-On-a-Chip (SoC) does not properly isolate shared resources between trusted and untrusted agents.
CWE-1190DMA Device Enabled Too Early in Boot PhaseThe product enables a Direct Memory Access (DMA) capable device before the security configuration settings are established, which allows an attacker to extract data from or gain privileges on the product.
CWE-1191On-Chip Debug and Test Interface With Improper Access ControlThe chip does not implement or does not correctly perform access control to check whether users are authorized to access internal registers and test modes through the physical debug/test interface.
CWE-1192Improper Identifier for IP Block used in System-On-Chip (SOC)The System-on-Chip (SoC) does not have unique, immutable identifiers for each of its components.
CWE-1209Failure to Disable Reserved BitsThe reserved bits in a hardware design are not disabled prior to production. Typically, reserved bits are used for future capabilities and should not support any functional logic in the design. However, designers might covertly use these bits to debug or further develop new capabilities in production hardware. Adversaries with access to these bits will write to them in hopes of compromising hardware state.
CWE-1220Insufficient Granularity of Access ControlThe product implements access controls via a policy or other feature with the intention to disable or restrict accesses (reads and/or writes) to assets in a system from untrusted agents. However, implemented access controls lack required granularity, which renders the control policy too broad because it allows accesses from unauthorized agents to the security-sensitive assets.
CWE-1223Race Condition for Write-Once AttributesA write-once register in hardware design is programmable by an untrusted software component earlier than the trusted software component, resulting in a race condition issue.
CWE-1224Improper Restriction of Write-Once Bit FieldsThe hardware design control register "sticky bits" or write-once bit fields are improperly implemented, such that they can be reprogrammed by software.
CWE-1230Exposure of Sensitive Information Through MetadataThe product prevents direct access to a resource containing sensitive information, but it does not sufficiently limit access to metadata that is derived from the original, sensitive information.
CWE-1231Improper Prevention of Lock Bit ModificationThe product uses a trusted lock bit for restricting access to registers, address regions, or other resources, but the product does not prevent the value of the lock bit from being modified after it has been set.
CWE-1232Improper Lock Behavior After Power State TransitionRegister lock bit protection disables changes to system configuration once the bit is set. Some of the protected registers or lock bits become programmable after power state transitions (e.g., Entry and wake from low power sleep modes) causing the system configuration to be changeable.
CWE-1233Security-Sensitive Hardware Controls with Missing Lock Bit ProtectionThe product uses a register lock bit protection mechanism, but it does not ensure that the lock bit prevents modification of system registers or controls that perform changes to important hardware system configuration.
CWE-1234Hardware Internal or Debug Modes Allow Override of LocksSystem configuration protection may be bypassed during debug mode.
CWE-1240Use of a Cryptographic Primitive with a Risky ImplementationTo fulfill the need for a cryptographic primitive, the product implements a cryptographic algorithm using a non-standard, unproven, or disallowed/non-compliant cryptographic implementation.
CWE-1241Use of Predictable Algorithm in Random Number GeneratorThe device uses an algorithm that is predictable and generates a pseudo-random number.
CWE-1242Inclusion of Undocumented Features or Chicken BitsThe device includes chicken bits or undocumented features that can create entry points for unauthorized actors.
CWE-1243Sensitive Non-Volatile Information Not Protected During DebugAccess to security-sensitive information stored in fuses is not limited during debug.
CWE-1244Internal Asset Exposed to Unsafe Debug Access Level or StateThe product uses physical debug or test interfaces with support for multiple access levels, but it assigns the wrong debug access level to an internal asset, providing unintended access to the asset from untrusted debug agents.
CWE-1245Improper Finite State Machines (FSMs) in Hardware LogicFaulty finite state machines (FSMs) in the hardware logic allow an attacker to put the system in an undefined state, to cause a denial of service (DoS) or gain privileges on the victim's system.
CWE-1246Improper Write Handling in Limited-write Non-Volatile MemoriesThe product does not implement or incorrectly implements wear leveling operations in limited-write non-volatile memories.
CWE-1249Application-Level Admin Tool with Inconsistent View of Underlying Operating SystemThe product provides an application for administrators to manage parts of the underlying operating system, but the application does not accurately identify all of the relevant entities or resources that exist in the OS; that is, the application's model of the OS's state is inconsistent with the OS's actual state.
CWE-1252CPU Hardware Not Configured to Support Exclusivity of Write and Execute OperationsThe CPU is not configured to provide hardware support for exclusivity of write and execute operations on memory. This allows an attacker to execute data from all of memory.
CWE-1253Incorrect Selection of Fuse ValuesThe logic level used to set a system to a secure state relies on a fuse being unblown. An attacker can set the system to an insecure state merely by blowing the fuse.
CWE-1254Incorrect Comparison Logic GranularityThe product's comparison logic is performed over a series of steps rather than across the entire string in one operation. If there is a comparison logic failure on one of these steps, the operation may be vulnerable to a timing attack that can result in the interception of the process for nefarious purposes.
CWE-1256Improper Restriction of Software Interfaces to Hardware FeaturesThe product provides software-controllable device functionality for capabilities such as power and clock management, but it does not properly limit functionality that can lead to modification of hardware memory or register bits, or the ability to observe physical side channels.
CWE-1257Improper Access Control Applied to Mirrored or Aliased Memory RegionsAliased or mirrored memory regions in hardware designs may have inconsistent read/write permissions enforced by the hardware. A possible result is that an untrusted agent is blocked from accessing a memory region but is not blocked from accessing the corresponding aliased memory region.
CWE-1258Exposure of Sensitive System Information Due to Uncleared Debug InformationThe hardware does not fully clear security-sensitive values, such as keys and intermediate values in cryptographic operations, when debug mode is entered.
CWE-1259Improper Restriction of Security Token AssignmentThe System-On-A-Chip (SoC) implements a Security Token mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Tokens are improperly protected.
CWE-1260Improper Handling of Overlap Between Protected Memory RangesThe product allows address regions to overlap, which can result in the bypassing of intended memory protection.
CWE-1261Improper Handling of Single Event UpsetsThe hardware logic does not effectively handle when single-event upsets (SEUs) occur.
CWE-1262Improper Access Control for Register InterfaceThe product uses memory-mapped I/O registers that act as an interface to hardware functionality from software, but there is improper access control to those registers.
CWE-1263Improper Physical Access ControlThe product is designed with access restricted to certain information, but it does not sufficiently protect against an unauthorized actor with physical access to these areas.
CWE-1264Hardware Logic with Insecure De-Synchronization between Control and Data ChannelsThe hardware logic for error handling and security checks can incorrectly forward data before the security check is complete.
CWE-1266Improper Scrubbing of Sensitive Data from Decommissioned DeviceThe product does not properly provide a capability for the product administrator to remove sensitive data at the time the product is decommissioned. A scrubbing capability could be missing, insufficient, or incorrect.
CWE-1267Policy Uses Obsolete EncodingThe product uses an obsolete encoding mechanism to implement access controls.
CWE-1268Policy Privileges are not Assigned Consistently Between Control and Data AgentsThe product's hardware-enforced access control for a particular resource improperly accounts for privilege discrepancies between control and write policies.
CWE-1270Generation of Incorrect Security TokensThe product implements a Security Token mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Tokens generated in the system are incorrect.
CWE-1272Sensitive Information Uncleared Before Debug/Power State TransitionThe product performs a power or debug state transition, but it does not clear sensitive information that should no longer be accessible due to changes to information access restrictions.
CWE-1274Improper Access Control for Volatile Memory Containing Boot CodeThe product conducts a secure-boot process that transfers bootloader code from Non-Volatile Memory (NVM) into Volatile Memory (VM), but it does not have sufficient access control or other protections for the Volatile Memory.
CWE-1277Firmware Not UpdateableThe product does not provide its users with the ability to update or patch its firmware to address any vulnerabilities or weaknesses that may be present.
CWE-1278Missing Protection Against Hardware Reverse Engineering Using Integrated Circuit (IC) Imaging TechniquesInformation stored in hardware may be recovered by an attacker with the capability to capture and analyze images of the integrated circuit using techniques such as scanning electron microscopy.
CWE-1279Cryptographic Operations are run Before Supporting Units are ReadyPerforming cryptographic operations without ensuring that the supporting inputs are ready to supply valid data may compromise the cryptographic result.
CWE-1281Sequence of Processor Instructions Leads to Unexpected BehaviorSpecific combinations of processor instructions lead to undesirable behavior such as locking the processor until a hard reset performed.
CWE-1283Mutable Attestation or Measurement Reporting DataThe register contents used for attestation or measurement reporting data to verify boot flow are modifiable by an adversary.
CWE-1290Incorrect Decoding of Security Identifiers The product implements a decoding mechanism to decode certain bus-transaction signals to security identifiers. If the decoding is implemented incorrectly, then untrusted agents can now gain unauthorized access to the asset.
CWE-1292Incorrect Conversion of Security IdentifiersThe product implements a conversion mechanism to map certain bus-transaction signals to security identifiers. However, if the conversion is incorrectly implemented, untrusted agents can gain unauthorized access to the asset.
CWE-1293Missing Source Correlation of Multiple Independent DataThe product relies on one source of data, preventing the ability to detect if an adversary has compromised a data source.
CWE-1294Insecure Security Identifier MechanismThe System-on-Chip (SoC) implements a Security Identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, the Security Identifiers are not correctly implemented.
CWE-1298Hardware Logic Contains Race ConditionsA race condition in the hardware logic results in undermining security guarantees of the system.
CWE-1299Missing Protection Mechanism for Alternate Hardware InterfaceThe lack of protections on alternate paths to access control-protected assets (such as unprotected shadow registers and other external facing unguarded interfaces) allows an attacker to bypass existing protections to the asset that are only performed against the primary path.
CWE-1302Missing Source Identifier in Entity Transactions on a System-On-Chip (SOC)The product implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. A transaction is sent without a security identifier.
CWE-1303Non-Transparent Sharing of Microarchitectural ResourcesHardware structures shared across execution contexts (e.g., caches and branch predictors) can violate the expected architecture isolation between contexts.
CWE-1304Improperly Preserved Integrity of Hardware Configuration State During a Power Save/Restore OperationThe product performs a power save/restore operation, but it does not ensure that the integrity of the configuration state is maintained and/or verified between the beginning and ending of the operation.
CWE-1310Missing Ability to Patch ROM CodeMissing an ability to patch ROM code may leave a System or System-on-Chip (SoC) in a vulnerable state.
CWE-1311Improper Translation of Security Attributes by Fabric BridgeThe bridge incorrectly translates security attributes from either trusted to untrusted or from untrusted to trusted when converting from one fabric protocol to another.
CWE-1312Missing Protection for Mirrored Regions in On-Chip Fabric FirewallThe firewall in an on-chip fabric protects the main addressed region, but it does not protect any mirrored memory or memory-mapped-IO (MMIO) regions.
CWE-1313Hardware Allows Activation of Test or Debug Logic at RuntimeDuring runtime, the hardware allows for test or debug logic (feature) to be activated, which allows for changing the state of the hardware. This feature can alter the intended behavior of the system and allow for alteration and leakage of sensitive data by an adversary.
CWE-1314Missing Write Protection for Parametric Data ValuesThe 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.
CWE-1315Improper Setting of Bus Controlling Capability in Fabric End-pointThe bus controller enables bits in the fabric end-point to allow responder devices to control transactions on the fabric.
CWE-1316Fabric-Address Map Allows Programming of Unwarranted Overlaps of Protected and Unprotected RangesThe address map of the on-chip fabric has protected and unprotected regions overlapping, allowing an attacker to bypass access control to the overlapping portion of the protected region.
CWE-1317Improper Access Control in Fabric BridgeThe product uses a fabric bridge for transactions between two Intellectual Property (IP) blocks, but the bridge does not properly perform the expected privilege, identity, or other access control checks between those IP blocks.
CWE-1318Missing Support for Security Features in On-chip Fabrics or BusesOn-chip fabrics or buses either do not support or are not configured to support privilege separation or other security features, such as access control.
CWE-1319Improper Protection against Electromagnetic Fault Injection (EM-FI)The device is susceptible to electromagnetic fault injection attacks, causing device internal information to be compromised or security mechanisms to be bypassed.
CWE-1320Improper Protection for Outbound Error Messages and Alert SignalsUntrusted agents can disable alerts about signal conditions exceeding limits or the response mechanism that handles such alerts.
CWE-1323Improper Management of Sensitive Trace DataTrace data collected from several sources on the System-on-Chip (SoC) is stored in unprotected locations or transported to untrusted agents.
CWE-1326Missing Immutable Root of Trust in HardwareA missing immutable root of trust in the hardware results in the ability to bypass secure boot or execute untrusted or adversarial boot code.
CWE-1328Security Version Number Mutable to Older VersionsSecurity-version number in hardware is mutable, resulting in the ability to downgrade (roll-back) the boot firmware to vulnerable code versions.
CWE-1329Reliance on Component That is Not UpdateableThe product contains a component that cannot be updated or patched in order to remove vulnerabilities or significant bugs.
CWE-1331Improper Isolation of Shared Resources in Network On Chip (NoC)The Network On Chip (NoC) does not isolate or incorrectly isolates its on-chip-fabric and internal resources such that they are shared between trusted and untrusted agents, creating timing channels.
CWE-1332Improper Handling of Faults that Lead to Instruction SkipsThe device is missing or incorrectly implements circuitry or sensors that detect and mitigate the skipping of security-critical CPU instructions when they occur.
CWE-1334Unauthorized Error Injection Can Degrade Hardware RedundancyAn unauthorized agent can inject errors into a redundant block to deprive the system of redundancy or put the system in a degraded operating mode.
CWE-1336Improper Neutralization of Special Elements Used in a Template EngineThe product uses a template engine to insert or process externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements or syntax that can be interpreted as template expressions or other code directives when processed by the engine.
CWE-1338Improper Protections Against Hardware OverheatingA hardware device is missing or has inadequate protection features to prevent overheating.
CWE-1342Information Exposure through Microarchitectural State after Transient ExecutionThe processor does not properly clear microarchitectural state after incorrect microcode assists or speculative execution, resulting in transient execution.
CWE-1351Improper Handling of Hardware Behavior in Exceptionally Cold EnvironmentsA hardware device, or the firmware running on it, is missing or has incorrect protection features to maintain goals of security primitives when the device is cooled below standard operating temperatures.
CWE-1357Reliance on Insufficiently Trustworthy ComponentThe product is built from multiple separate components, but it uses a component that is not sufficiently trusted to meet expectations for security, reliability, updateability, and maintainability.
CWE-1384Improper Handling of Physical or Environmental ConditionsThe product does not properly handle unexpected physical or environmental conditions that occur naturally or are artificially induced.
CWE-1390Weak AuthenticationThe product uses an authentication mechanism to restrict access to specific users or identities, but the mechanism does not sufficiently prove that the claimed identity is correct.
CWE-1391Use of Weak CredentialsThe product uses weak credentials (such as a default key or hard-coded password) that can be calculated, derived, reused, or guessed by an attacker.
CWE-1392Use of Default CredentialsThe product uses default credentials (such as passwords or cryptographic keys) for potentially critical functionality.
CWE-1393Use of Default PasswordThe product uses default passwords for potentially critical functionality.
CWE-1394Use of Default Cryptographic KeyThe product uses a default cryptographic key for potentially critical functionality.
CWE-1395Dependency on Vulnerable Third-Party ComponentThe product has a dependency on a third-party component that contains one or more known vulnerabilities.
CWE-1420Exposure of Sensitive Information during Transient ExecutionA processor event or prediction may allow incorrect operations (or correct operations with incorrect data) to execute transiently, potentially exposing data over a covert channel.
CWE-1421Exposure of Sensitive Information in Shared Microarchitectural Structures during Transient Execution A processor event may allow transient operations to access architecturally restricted data (for example, in another address space) in a shared microarchitectural structure (for example, a CPU cache), potentially exposing the data over a covert channel.
CWE-1422Exposure of Sensitive Information caused by Incorrect Data Forwarding during Transient ExecutionA processor event or prediction may allow incorrect or stale data to be forwarded to transient operations, potentially exposing data over a covert channel.
CWE-1423Exposure of Sensitive Information caused by Shared Microarchitectural Predictor State that Influences Transient ExecutionShared microarchitectural predictor state may allow code to influence transient execution across a hardware boundary, potentially exposing data that is accessible beyond the boundary over a covert channel.
CWE-1426Improper Validation of Generative AI OutputThe product invokes a generative AI/ML component whose behaviors and outputs cannot be directly controlled, but the product does not validate or insufficiently validates the outputs to ensure that they align with the intended security, content, or privacy policy.
CWE-1427Improper Neutralization of Input Used for LLM PromptingThe product uses externally-provided data to build prompts provided to large language models (LLMs), but the way these prompts are constructed causes the LLM to fail to distinguish between user-supplied inputs and developer provided system directives.
CWE-1428Reliance on HTTP instead of HTTPSThe product provides or relies on use of HTTP communications when HTTPS is available.
CWE-1429Missing Security-Relevant Feedback for Unexecuted Operations in Hardware InterfaceThe product has a hardware interface that silently discards operations in situations for which feedback would be security-relevant, such as the timely detection of failures or attacks.
CWE-184Incomplete List of Disallowed InputsThe product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.
CWE-20Improper Input ValidationThe product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
CWE-200Exposure of Sensitive Information to an Unauthorized ActorThe product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CWE-201Insertion of Sensitive Information Into Sent DataThe code transmits data to another actor, but a portion of the data includes sensitive information that should not be accessible to that actor.
CWE-202Exposure of Sensitive Information Through Data QueriesWhen trying to keep information confidential, an attacker can often infer some of the information by using statistics.
CWE-203Observable DiscrepancyThe product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor, which exposes security-relevant information about the state of the product, such as whether a particular operation was successful or not.
CWE-204Observable Response DiscrepancyThe product provides different responses to incoming requests in a way that reveals internal state information to an unauthorized actor outside of the intended control sphere.
CWE-205Observable Behavioral DiscrepancyThe product's behaviors indicate important differences that may be observed by unauthorized actors in a way that reveals (1) its internal state or decision process, or (2) differences from other products with equivalent functionality.
CWE-208Observable Timing DiscrepancyTwo separate operations in a product require different amounts of time to complete, in a way that is observable to an actor and reveals security-relevant information about the state of the product, such as whether a particular operation was successful or not.
CWE-209Generation of Error Message Containing Sensitive InformationThe product generates an error message that includes sensitive information about its environment, users, or associated data.
CWE-210Self-generated Error Message Containing Sensitive InformationThe product identifies an error condition and creates its own diagnostic or error messages that contain sensitive information.
CWE-211Externally-Generated Error Message Containing Sensitive InformationThe product performs an operation that triggers an external diagnostic or error message that is not directly generated or controlled by the product, such as an error generated by the programming language interpreter that a software application uses. The error can contain sensitive system information.
CWE-212Improper Removal of Sensitive Information Before Storage or TransferThe product stores, transfers, or shares a resource that contains sensitive information, but it does not properly remove that information before the product makes the resource available to unauthorized actors.
CWE-213Exposure of Sensitive Information Due to Incompatible PoliciesThe product's intended functionality exposes information to certain actors in accordance with the developer's security policy, but this information is regarded as sensitive according to the intended security policies of other stakeholders such as the product's administrator, users, or others whose information is being processed.
CWE-214Invocation of Process Using Visible Sensitive InformationA process is invoked with sensitive command-line arguments, environment variables, or other elements that can be seen by other processes on the operating system.
CWE-221Information Loss or OmissionThe product does not record, or improperly records, security-relevant information that leads to an incorrect decision or hampers later analysis.
CWE-223Omission of Security-relevant InformationThe product does not record or display information that would be important for identifying the source or nature of an attack, or determining if an action is safe.
CWE-250Execution with Unnecessary PrivilegesThe product performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.
CWE-256Plaintext Storage of a PasswordThe product stores a password in plaintext within resources such as memory or files.
CWE-257Storing Passwords in a Recoverable FormatThe storage of passwords in a recoverable format makes them subject to password reuse attacks by malicious users. In fact, it should be noted that recoverable encrypted passwords provide no significant benefit over plaintext passwords since they are subject not only to reuse by malicious attackers but also by malicious insiders. If a system administrator can recover a password directly, or use a brute force search on the available information, the administrator can use the password on other accounts.
CWE-260Password in Configuration FileThe product stores a password in a configuration file that might be accessible to actors who do not know the password.
CWE-261Weak Encoding for PasswordObscuring a password with a trivial encoding does not protect the password.
CWE-262Not Using Password AgingThe product does not have a mechanism in place for managing password aging.
CWE-263Password Aging with Long ExpirationThe product supports password aging, but the expiration period is too long.
CWE-267Privilege Defined With Unsafe ActionsA particular privilege, role, capability, or right can be used to perform unsafe actions that were not intended, even when it is assigned to the correct entity.
CWE-268Privilege ChainingTwo distinct privileges, roles, capabilities, or rights can be combined in a way that allows an entity to perform unsafe actions that would not be allowed without that combination.
CWE-269Improper Privilege ManagementThe product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.
CWE-270Privilege Context Switching ErrorThe product does not properly manage privileges while it is switching between different contexts that have different privileges or spheres of control.
CWE-271Privilege Dropping / Lowering ErrorsThe product does not drop privileges before passing control of a resource to an actor that does not have those privileges.
CWE-276Incorrect Default PermissionsDuring installation, installed file permissions are set to allow anyone to modify those files.
CWE-282Improper Ownership ManagementThe product assigns the wrong ownership, or does not properly verify the ownership, of an object or resource.
CWE-283Unverified OwnershipThe product does not properly verify that a critical resource is owned by the proper entity.
CWE-285Improper AuthorizationThe product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.
CWE-286Incorrect User ManagementThe product does not properly manage a user within its environment.
CWE-287Improper AuthenticationWhen an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
CWE-288Authentication Bypass Using an Alternate Path or ChannelThe product requires authentication, but the product has an alternate path or channel that does not require authentication.
CWE-289Authentication Bypass by Alternate NameThe product performs authentication based on the name of a resource being accessed, or the name of the actor performing the access, but it does not properly check all possible names for that resource or actor.
CWE-294Authentication Bypass by Capture-replayA capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes).
CWE-295Improper Certificate ValidationThe product does not validate, or incorrectly validates, a certificate.
CWE-300Channel Accessible by Non-EndpointThe product does not adequately verify the identity of actors at both ends of a communication channel, or does not adequately ensure the integrity of the channel, in a way that allows the channel to be accessed or influenced by an actor that is not an endpoint.
CWE-301Reflection Attack in an Authentication ProtocolSimple authentication protocols are subject to reflection attacks if a malicious user can use the target machine to impersonate a trusted user.
CWE-302Authentication Bypass by Assumed-Immutable DataThe authentication scheme or implementation uses key data elements that are assumed to be immutable, but can be controlled or modified by the attacker.
CWE-306Missing Authentication for Critical FunctionThe product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
CWE-307Improper Restriction of Excessive Authentication AttemptsThe product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame.
CWE-308Use of Single-factor AuthenticationThe use of single-factor authentication can lead to unnecessary risk of compromise when compared with the benefits of a dual-factor authentication scheme.
CWE-309Use of Password System for Primary AuthenticationThe use of password systems as the primary means of authentication may be subject to several flaws or shortcomings, each reducing the effectiveness of the mechanism.
CWE-311Missing Encryption of Sensitive DataThe product does not encrypt sensitive or critical information before storage or transmission.
CWE-312Cleartext Storage of Sensitive InformationThe product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.
CWE-319Cleartext Transmission of Sensitive InformationThe product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
CWE-322Key Exchange without Entity AuthenticationThe product performs a key exchange with an actor without verifying the identity of that actor.
CWE-323Reusing a Nonce, Key Pair in EncryptionNonces should be used for the present occasion and only once.
CWE-324Use of a Key Past its Expiration DateThe product uses a cryptographic key or password past its expiration date, which diminishes its safety significantly by increasing the timing window for cracking attacks against that key.
CWE-326Inadequate Encryption StrengthThe product stores or transmits sensitive data using an encryption scheme that is theoretically sound, but is not strong enough for the level of protection required.
CWE-327Use of a Broken or Risky Cryptographic AlgorithmThe product uses a broken or risky cryptographic algorithm or protocol.
CWE-328Use of Weak HashThe product uses an algorithm that produces a digest (output value) that does not meet security expectations for a hash function that allows an adversary to reasonably determine the original input (preimage attack), find another input that can produce the same hash (2nd preimage attack), or find multiple inputs that evaluate to the same hash (birthday attack).
CWE-330Use of Insufficiently Random ValuesThe product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.
CWE-331Insufficient EntropyThe product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.
CWE-334Small Space of Random ValuesThe number of possible random values is smaller than needed by the product, making it more susceptible to brute force attacks.
CWE-338Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.
CWE-340Generation of Predictable Numbers or IdentifiersThe product uses a scheme that generates numbers or identifiers that are more predictable than required.
CWE-341Predictable from Observable StateA number or object is predictable based on observations that the attacker can make about the state of the system or network, such as time, process ID, etc.
CWE-342Predictable Exact Value from Previous ValuesAn exact value or random number can be precisely predicted by observing previous values.
CWE-343Predictable Value Range from Previous ValuesThe product's random number generator produces a series of values which, when observed, can be used to infer a relatively small range of possibilities for the next value that could be generated.
CWE-344Use of Invariant Value in Dynamically Changing ContextThe product uses a constant value, name, or reference, but this value can (or should) vary across different environments.
CWE-345Insufficient Verification of Data AuthenticityThe product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.
CWE-346Origin Validation ErrorThe product does not properly verify that the source of data or communication is valid.
CWE-347Improper Verification of Cryptographic SignatureThe product does not verify, or incorrectly verifies, the cryptographic signature for data.
CWE-348Use of Less Trusted SourceThe product has two different sources of the same data or information, but it uses the source that has less support for verification, is less trusted, or is less resistant to attack.
CWE-353Missing Support for Integrity CheckThe product uses a transmission protocol that does not include a mechanism for verifying the integrity of the data during transmission, such as a checksum.
CWE-354Improper Validation of Integrity Check ValueThe product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.
CWE-356Product UI does not Warn User of Unsafe ActionsThe product's user interface does not warn the user before undertaking an unsafe action on behalf of that user. This makes it easier for attackers to trick users into inflicting damage to their system.
CWE-357Insufficient UI Warning of Dangerous OperationsThe user interface provides a warning to a user regarding dangerous or sensitive operations, but the warning is not noticeable enough to warrant attention.
CWE-358Improperly Implemented Security Check for StandardThe product does not implement or incorrectly implements one or more security-relevant checks as specified by the design of a standardized algorithm, protocol, or technique.
CWE-359Exposure of Private Personal Information to an Unauthorized ActorThe product does not properly prevent a person's private, personal information from being accessed by actors who either (1) are not explicitly authorized to access the information or (2) do not have the implicit consent of the person about whom the information is collected.
CWE-360Trust of System Event DataSecurity based on event locations are insecure and can be spoofed.
CWE-362Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.
CWE-363Race Condition Enabling Link FollowingThe product checks the status of a file or directory before accessing it, which produces a race condition in which the file can be replaced with a link before the access is performed, causing the product to access the wrong file.
CWE-368Context Switching Race ConditionA product performs a series of non-atomic actions to switch between contexts that cross privilege or other security boundaries, but a race condition allows an attacker to modify or misrepresent the product's behavior during the switch.
CWE-385Covert Timing ChannelCovert timing channels convey information by modulating some aspect of system behavior over time, so that the program receiving the information can observe system behavior and infer protected information.
CWE-386Symbolic Name not Mapping to Correct ObjectA constant symbolic reference to an object is used, even though the reference can resolve to a different object over time.
CWE-400Uncontrolled Resource ConsumptionThe product does not properly control the allocation and maintenance of a limited resource.
CWE-402Transmission of Private Resources into a New Sphere ('Resource Leak')The product makes resources available to untrusted parties when those resources are only intended to be accessed by the product.
CWE-405Asymmetric Resource Consumption (Amplification)The product does not properly control situations in which an adversary can cause the product to consume or produce excessive resources without requiring the adversary to invest equivalent work or otherwise prove authorization, i.e., the adversary's influence is "asymmetric."
CWE-406Insufficient Control of Network Message Volume (Network Amplification)The product does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the product to transmit more traffic than should be allowed for that actor.
CWE-407Inefficient Algorithmic ComplexityAn algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.
CWE-408Incorrect Behavior Order: Early AmplificationThe product allows an entity to perform a legitimate but expensive operation before authentication or authorization has taken place.
CWE-409Improper Handling of Highly Compressed Data (Data Amplification)The product does not handle or incorrectly handles a compressed input with a very high compression ratio that produces a large output.
CWE-410Insufficient Resource PoolThe product's resource pool is not large enough to handle peak demand, which allows an attacker to prevent others from accessing the resource by using a (relatively) large number of requests for resources.
CWE-412Unrestricted Externally Accessible LockThe product properly checks for the existence of a lock, but the lock can be externally controlled or influenced by an actor that is outside of the intended sphere of control.
CWE-413Improper Resource LockingThe product does not lock or does not correctly lock a resource when the product must have exclusive access to the resource.
CWE-414Missing Lock CheckA product does not check to see if a lock is present before performing sensitive operations on a resource.
CWE-419Unprotected Primary ChannelThe product uses a primary channel for administration or restricted functionality, but it does not properly protect the channel.
CWE-420Unprotected Alternate ChannelThe product protects a primary channel, but it does not use the same level of protection for an alternate channel.
CWE-421Race Condition During Access to Alternate ChannelThe product opens an alternate channel to communicate with an authorized user, but the channel is accessible to other actors.
CWE-424Improper Protection of Alternate PathThe product does not sufficiently protect all possible paths that a user can take to access restricted functionality or resources.
CWE-434Unrestricted Upload of File with Dangerous TypeThe product allows the upload or transfer of dangerous file types that are automatically processed within its environment.
CWE-436Interpretation ConflictProduct A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.
CWE-437Incomplete Model of Endpoint FeaturesA product acts as an intermediary or monitor between two or more endpoints, but it does not have a complete model of an endpoint's features, behaviors, or state, potentially causing the product to perform incorrect actions based on this incomplete model.
CWE-439Behavioral Change in New Version or EnvironmentA's behavior or functionality changes with a new version of A, or a new environment, which is not known (or manageable) by B.
CWE-440Expected Behavior ViolationA feature, API, or function does not perform according to its specification.
CWE-441Unintended Proxy or Intermediary ('Confused Deputy')The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the original source of the request before forwarding the request to an external actor that is outside of the product's control sphere. This causes the product to appear to be the source of the request, leading it to act as a proxy or other intermediary between the upstream component and the external actor.
CWE-446UI Discrepancy for Security FeatureThe user interface does not correctly enable or configure a security feature, but the interface provides feedback that causes the user to believe that the feature is in a secure state.
CWE-451User Interface (UI) Misrepresentation of Critical InformationThe user interface (UI) does not properly represent critical information to the user, allowing the information - or its source - to be obscured or spoofed. This is often a component in phishing attacks.
CWE-454External Initialization of Trusted Variables or Data StoresThe product initializes critical internal variables or data stores using inputs that can be modified by untrusted actors.
CWE-470Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.
CWE-471Modification of Assumed-Immutable Data (MAID)The product does not properly protect an assumed-immutable element from being modified by an attacker.
CWE-475Undefined Behavior for Input to APIThe behavior of this function is undefined unless its control parameter is set to a specific value.
CWE-494Download of Code Without Integrity CheckThe product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code.
CWE-501Trust Boundary ViolationThe product mixes trusted and untrusted data in the same data structure or structured message.
CWE-502Deserialization of Untrusted DataThe product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
CWE-510TrapdoorA trapdoor is a hidden piece of code that responds to a special input, allowing its user access to resources without passing through the normal security enforcement mechanism.
CWE-511Logic/Time BombThe product contains code that is designed to disrupt the legitimate operation of the product (or its environment) when a certain time passes, or when a certain logical condition is met.
CWE-512SpywareThe product collects personally identifiable information about a human user or the user's activities, but the product accesses this information using other resources besides itself, and it does not require that user's explicit approval or direct input into the product.
CWE-521Weak Password RequirementsThe product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts.
CWE-522Insufficiently Protected CredentialsThe product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
CWE-523Unprotected Transport of CredentialsLogin pages do not use adequate measures to protect the user name and password while they are in transit from the client to the server.
CWE-532Insertion of Sensitive Information into Log FileThe product writes sensitive information to a log file.
CWE-544Missing Standardized Error Handling MechanismThe product does not use a standardized method for handling errors throughout the code, which might introduce inconsistent error handling and resultant weaknesses.
CWE-552Files or Directories Accessible to External PartiesThe product makes files or directories accessible to unauthorized actors, even though they should not be.
CWE-565Reliance on Cookies without Validation and Integrity CheckingThe product relies on the existence or values of cookies when performing security-critical operations, but it does not properly ensure that the setting is valid for the associated user.
CWE-601URL Redirection to Untrusted Site ('Open Redirect')The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.
CWE-602Client-Side Enforcement of Server-Side SecurityThe product is composed of a server that relies on the client to implement a mechanism that is intended to protect the server.
CWE-603Use of Client-Side AuthenticationA client/server product performs authentication within client code but not in server code, allowing server-side authentication to be bypassed via a modified client that omits the authentication check.
CWE-610Externally Controlled Reference to a Resource in Another SphereThe product uses an externally controlled name or reference that resolves to a resource that is outside of the intended control sphere.
CWE-612Improper Authorization of Index Containing Sensitive InformationThe product creates a search index of private or sensitive documents, but it does not properly limit index access to actors who are authorized to see the original information.
CWE-613Insufficient Session ExpirationAccording to WASC, "Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization."
CWE-620Unverified Password ChangeWhen setting a new password for a user, the product does not require knowledge of the original password, or using another form of authentication.
CWE-636Not Failing Securely ('Failing Open')When the product encounters an error condition or failure, its design requires it to fall back to a state that is less secure than other options that are available, such as selecting the weakest encryption algorithm or using the most permissive access control restrictions.
CWE-637Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')The product uses a more complex mechanism than necessary, which could lead to resultant weaknesses when the mechanism is not correctly understood, modeled, configured, implemented, or used.
CWE-639Authorization Bypass Through User-Controlled KeyThe system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
CWE-640Weak Password Recovery Mechanism for Forgotten PasswordThe product contains a mechanism for users to recover or change their passwords without knowing the original password, but the mechanism is weak.
CWE-641Improper Restriction of Names for Files and Other ResourcesThe product constructs the name of a file or other resource using input from an upstream component, but it does not restrict or incorrectly restricts the resulting name.
CWE-642External Control of Critical State DataThe product stores security-critical state information about its users, or the product itself, in a location that is accessible to unauthorized actors.
CWE-645Overly Restrictive Account Lockout MechanismThe product contains an account lockout protection mechanism, but the mechanism is too restrictive and can be triggered too easily, which allows attackers to deny service to legitimate users by causing their accounts to be locked out.
CWE-648Incorrect Use of Privileged APIsThe product does not conform to the API requirements for a function call that requires extra privileges. This could allow attackers to gain privileges by causing the function to be called incorrectly.
CWE-649Reliance on Obfuscation or Encryption of Security-Relevant Inputs without Integrity CheckingThe product uses obfuscation or encryption of inputs that should not be mutable by an external actor, but the product does not use integrity checks to detect if those inputs have been modified.
CWE-653Improper Isolation or CompartmentalizationThe product does not properly compartmentalize or isolate functionality, processes, or resources that require different privilege levels, rights, or permissions.
CWE-654Reliance on a Single Factor in a Security DecisionA protection mechanism relies exclusively, or to a large extent, on the evaluation of a single condition or the integrity of a single object or entity in order to make a decision about granting access to restricted resources or functionality.
CWE-655Insufficient Psychological AcceptabilityThe product has a protection mechanism that is too difficult or inconvenient to use, encouraging non-malicious users to disable or bypass the mechanism, whether by accident or on purpose.
CWE-656Reliance on Security Through ObscurityThe product uses a protection mechanism whose strength depends heavily on its obscurity, such that knowledge of its algorithms or key data is sufficient to defeat the mechanism.
CWE-657Violation of Secure Design PrinciplesThe product violates well-established principles for secure design.
CWE-662Improper SynchronizationThe product utilizes multiple threads or processes to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes.
CWE-667Improper LockingThe product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
CWE-668Exposure of Resource to Wrong SphereThe product exposes a resource to the wrong control sphere, providing unintended actors with inappropriate access to the resource.
CWE-669Incorrect Resource Transfer Between SpheresThe product does not properly transfer a resource/behavior to another sphere, or improperly imports a resource/behavior from another sphere, in a manner that provides unintended control over that resource.
CWE-671Lack of Administrator Control over SecurityThe product uses security features in a way that prevents the product's administrator from tailoring security settings to reflect the environment in which the product is being used. This introduces resultant weaknesses or prevents it from operating at a level of security that is desired by the administrator.
CWE-673External Influence of Sphere DefinitionThe product does not prevent the definition of control spheres from external actors.
CWE-694Use of Multiple Resources with Duplicate IdentifierThe product uses multiple resources that can have the same identifier, in a context in which unique identifiers are required.
CWE-696Incorrect Behavior OrderThe product performs multiple related behaviors, but the behaviors are performed in the wrong order in ways which may produce resultant weaknesses.
CWE-706Use of Incorrectly-Resolved Name or ReferenceThe product uses a name or reference to access a resource, but the name/reference resolves to a resource that is outside of the intended control sphere.
CWE-708Incorrect Ownership AssignmentThe product assigns an owner to a resource, but the owner is outside of the intended control sphere.
CWE-73External Control of File Name or PathThe product allows user input to control or influence paths or file names that are used in filesystem operations.
CWE-732Incorrect Permission Assignment for Critical ResourceThe product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors.
CWE-749Exposed Dangerous Method or FunctionThe product provides an Applications Programming Interface (API) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted.
CWE-757Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')A protocol or its implementation supports interaction between multiple actors and allows those actors to negotiate which algorithm should be used as a protection mechanism such as encryption or authentication, but it does not select the strongest algorithm that is available to both parties.
CWE-770Allocation of Resources Without Limits or ThrottlingThe product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.
CWE-798Use of Hard-coded CredentialsThe product contains hard-coded credentials, such as a password or cryptographic key.
CWE-799Improper Control of Interaction FrequencyThe product does not properly limit the number or frequency of interactions that it has with an actor, such as the number of incoming requests.
CWE-804Guessable CAPTCHAThe product uses a CAPTCHA challenge, but the challenge can be guessed or automatically recognized by a non-human actor.
CWE-807Reliance on Untrusted Inputs in a Security DecisionThe product uses a protection mechanism that relies on the existence or values of an input, but the input can be modified by an untrusted actor in a way that bypasses the protection mechanism.
CWE-862Missing AuthorizationThe product does not perform an authorization check when an actor attempts to access a resource or perform an action.
CWE-863Incorrect AuthorizationThe product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
CWE-912Hidden FunctionalityThe product contains functionality that is not documented, not part of the specification, and not accessible through an interface or command sequence that is obvious to the product's users or administrators.
CWE-913Improper Control of Dynamically-Managed Code ResourcesThe product does not properly restrict reading from or writing to dynamically-managed code resources such as variables, objects, classes, attributes, functions, or executable instructions or statements.
CWE-915Improperly Controlled Modification of Dynamically-Determined Object AttributesThe product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.
CWE-916Use of Password Hash With Insufficient Computational EffortThe product generates a hash for a password, but it uses a scheme that does not provide a sufficient level of computational effort that would make password cracking attacks infeasible or expensive.
CWE-917Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.
CWE-918Server-Side Request Forgery (SSRF)The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
CWE-920Improper Restriction of Power ConsumptionThe product operates in an environment in which power is a limited resource that cannot be automatically replenished, but the product does not properly restrict the amount of power that its operation consumes.
CWE-921Storage of Sensitive Data in a Mechanism without Access ControlThe product stores sensitive information in a file system or device that does not have built-in access control.
CWE-922Insecure Storage of Sensitive InformationThe product stores sensitive information without properly limiting read or write access by unauthorized actors.
CWE-923Improper Restriction of Communication Channel to Intended EndpointsThe product establishes a communication channel to (or from) an endpoint for privileged or protected operations, but it does not properly ensure that it is communicating with the correct endpoint.
CWE-924Improper Enforcement of Message Integrity During Transmission in a Communication ChannelThe product establishes a communication channel with an endpoint and receives a message from that endpoint, but it does not sufficiently ensure that the message was not modified during transmission.
CWE-940Improper Verification of Source of a Communication ChannelThe product establishes a communication channel to handle an incoming request that has been initiated by an actor, but it does not properly verify that the request is coming from the expected origin.
CWE-941Incorrectly Specified Destination in a Communication ChannelThe product creates a communication channel to initiate an outgoing request to an actor, but it does not correctly specify the intended destination for that actor.
CWE-99Improper Control of Resource Identifiers ('Resource Injection')The product receives input from an upstream component, but it does not restrict or incorrectly restricts the input before it is used as an identifier for a resource that may be outside the intended sphere of control.
Mapping Notes
Usage: Prohibited
Reasons: View
Rationale:
This entry is a View. Views are not weaknesses and therefore inappropriate to describe the root causes of vulnerabilities.
Comment:
Use this View or other Views to search and navigate for the appropriate weakness.