View: Weaknesses Introduced During Implementation

Incomplete
Type: Implicit
Objective

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

Membership
IDNameDescription
CWE-1004Sensitive Cookie Without 'HttpOnly' FlagThe product uses a cookie to store sensitive information, but the cookie is not marked with the HttpOnly flag.
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-102Struts: Duplicate Validation FormsThe product uses multiple validation forms with the same name, which might cause the Struts Validator to validate a form that the programmer does not expect.
CWE-1021Improper Restriction of Rendered UI Layers or FramesThe web application does not restrict or incorrectly restricts frame objects or UI layers that belong to another application or domain, which can lead to user confusion about which interface the user is interacting with.
CWE-1022Use of Web Link to Untrusted Target with window.opener AccessThe web application produces links to untrusted external sites outside of its sphere of control, but it does not properly prevent the external site from modifying security-critical properties of the window.opener object, such as the location property.
CWE-1023Incomplete Comparison with Missing FactorsThe product performs a comparison between entities that must consider multiple factors or characteristics of each entity, but the comparison does not include one or more of these factors.
CWE-1024Comparison of Incompatible TypesThe product performs a comparison between two entities, but the entities are of different, incompatible types that cannot be guaranteed to provide correct results when they are directly compared.
CWE-1025Comparison Using Wrong FactorsThe code performs a comparison between two entities, but the comparison examines the wrong factors or characteristics of the entities, which can lead to incorrect results and resultant weaknesses.
CWE-103Struts: Incomplete validate() Method DefinitionThe product has a validator form that either does not define a validate() method, or defines a validate() method but does not call super.validate().
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-104Struts: Form Bean Does Not Extend Validation ClassIf a form bean does not extend an ActionForm subclass of the Validator framework, it can expose the application to other weaknesses related to insufficient input validation.
CWE-105Struts: Form Field Without ValidatorThe product has a form field that is not validated by a corresponding validation form, which can introduce other weaknesses related to insufficient input validation.
CWE-106Struts: Plug-in Framework not in UseWhen an application does not use an input validation framework such as the Struts Validator, there is a greater risk of introducing weaknesses related to insufficient input validation.
CWE-1068Inconsistency Between Implementation and Documented DesignThe implementation of the product is not consistent with the design as described within the relevant documentation.
CWE-107Struts: Unused Validation FormAn unused validation form indicates that validation logic is not up-to-date.
CWE-108Struts: Unvalidated Action FormEvery Action Form must have a corresponding validation form.
CWE-109Struts: Validator Turned OffAutomatic filtering via a Struts bean has been turned off, which disables the Struts Validator and custom validation logic. This exposes the application to other weaknesses related to insufficient input validation.
CWE-11ASP.NET Misconfiguration: Creating Debug BinaryDebugging messages help attackers learn about the system and plan a form of attack.
CWE-110Struts: Validator Without Form FieldValidation fields that do not appear in forms they are associated with indicate that the validation logic is out of date.
CWE-111Direct Use of Unsafe JNIWhen a Java application uses the Java Native Interface (JNI) to call code written in another programming language, it can expose the application to weaknesses in that code, even if those weaknesses cannot occur in Java.
CWE-112Missing XML ValidationThe product accepts XML from an untrusted source but does not validate the XML against the proper schema.
CWE-113Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers.
CWE-114Process ControlExecuting commands or loading libraries from an untrusted source or in an untrusted environment can cause an application to execute malicious commands (and payloads) on behalf of an attacker.
CWE-115Misinterpretation of InputThe product misinterprets an input, whether from an attacker or another product, in a security-relevant fashion.
CWE-116Improper Encoding or Escaping of OutputThe product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.
CWE-117Improper Output Neutralization for LogsThe product constructs a log message from external input, but it does not neutralize or incorrectly neutralizes special elements when the message is written to a log file.
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-1174ASP.NET Misconfiguration: Improper Model ValidationThe ASP.NET application does not use, or incorrectly uses, the model validation framework.
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-1177Use of Prohibited CodeThe product uses a function, library, or third party component that has been explicitly prohibited, whether by the developer or the customer.
CWE-118Incorrect Access of Indexable Resource ('Range Error')The product does not restrict or incorrectly restricts operations within the boundaries of a resource that is accessed using an index or pointer, such as memory or files.
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-119Improper Restriction of Operations within the Bounds of a Memory BufferThe product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.
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-12ASP.NET Misconfiguration: Missing Custom Error PageAn ASP .NET application must enable custom error pages in order to prevent attackers from mining information from the framework's built-in responses.
CWE-120Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.
CWE-1204Generation of Weak Initialization Vector (IV)The product uses a cryptographic primitive that uses an Initialization Vector (IV), but the product does not generate IVs that are sufficiently unpredictable or unique according to the expected cryptographic requirements for that primitive.
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-121Stack-based Buffer OverflowA stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function).
CWE-122Heap-based Buffer OverflowA heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
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-1221Incorrect Register Defaults or Module ParametersHardware description language code incorrectly defines register defaults or hardware Intellectual Property (IP) parameters to insecure values.
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-123Write-what-where ConditionAny condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow.
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-1235Incorrect Use of Autoboxing and Unboxing for Performance Critical OperationsThe code uses boxed primitives, which may introduce inefficiencies into performance-critical operations.
CWE-1236Improper Neutralization of Formula Elements in a CSV FileThe product saves user-provided information into a Comma-Separated Value (CSV) file, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as a command when the file is opened by a spreadsheet product.
CWE-1239Improper Zeroization of Hardware RegisterThe hardware product does not properly clear sensitive information from built-in registers when the user of the hardware block changes.
CWE-124Buffer Underwrite ('Buffer Underflow')The product writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer.
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-125Out-of-bounds ReadThe product reads data past the end, or before the beginning, of the intended buffer.
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-1255Comparison Logic is Vulnerable to Power Side-Channel AttacksA device's real time power consumption may be monitored during security token evaluation and the information gleaned may be used to determine the value of the reference token.
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-126Buffer Over-readThe product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations after the targeted buffer.
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-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-1269Product Released in Non-Release ConfigurationThe product released to market is released in pre-production or manufacturing configuration.
CWE-127Buffer Under-readThe product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations prior to the targeted buffer.
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-1271Uninitialized Value on Reset for Registers Holding Security SettingsSecurity-critical logic is not set to a known value on reset.
CWE-1275Sensitive Cookie with Improper SameSite AttributeThe SameSite attribute for sensitive cookies is not set, or an insecure value is used.
CWE-1276Hardware Child Block Incorrectly Connected to Parent SystemSignals between a hardware IP and the parent system design are incorrectly connected causing security risks.
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-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-128Wrap-around ErrorWrap around errors occur whenever a value is incremented past the maximum value for its type and therefore "wraps around" to a very small, negative, or undefined value.
CWE-1280Access Control Check Implemented After Asset is AccessedA product's hardware-based access control check occurs after the asset has been accessed.
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-1282Assumed-Immutable Data is Stored in Writable MemoryImmutable data, such as a first-stage bootloader, device identifiers, and "write-once" configuration settings are stored in writable memory that can be re-programmed or updated in the field.
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-1284Improper Validation of Specified Quantity in InputThe product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.
CWE-1285Improper Validation of Specified Index, Position, or Offset in InputThe product receives input that is expected to specify an index, position, or offset into an indexable resource such as a buffer or file, but it does not validate or incorrectly validates that the specified index/position/offset has the required properties.
CWE-1286Improper Validation of Syntactic Correctness of InputThe product receives input that is expected to be well-formed - i.e., to comply with a certain syntax - but it does not validate or incorrectly validates that the input complies with the syntax.
CWE-1287Improper Validation of Specified Type of InputThe product receives input that is expected to be of a certain type, but it does not validate or incorrectly validates that the input is actually of the expected type.
CWE-1288Improper Validation of Consistency within InputThe product receives a complex input with multiple elements or fields that must be consistent with each other, but it does not validate or incorrectly validates that the input is actually consistent.
CWE-1289Improper Validation of Unsafe Equivalence in InputThe product receives an input value that is used as a resource identifier or other type of reference, but it does not validate or incorrectly validates that the input is equivalent to a potentially-unsafe value.
CWE-129Improper Validation of Array IndexThe product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.
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-1291Public Key Re-Use for Signing both Debug and Production CodeThe same public key is used for signing both debug and production code.
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-1295Debug Messages Revealing Unnecessary InformationThe product fails to adequately prevent the revealing of unnecessary and potentially sensitive system information within debugging messages.
CWE-1296Incorrect Chaining or Granularity of Debug ComponentsThe product's debug components contain incorrect chaining or granularity of debug components.
CWE-1297Unprotected Confidential Information on Device is Accessible by OSAT VendorsThe product does not adequately protect confidential information on the device from being accessed by Outsourced Semiconductor Assembly and Test (OSAT) vendors.
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-13ASP.NET Misconfiguration: Password in Configuration FileStoring a plaintext password in a configuration file allows anyone who can read the file access to the password-protected resource making them an easy target for attackers.
CWE-130Improper Handling of Length Parameter InconsistencyThe product parses a formatted message or structure, but it does not handle or incorrectly handles a length field that is inconsistent with the actual length of the associated data.
CWE-1300Improper Protection of Physical Side ChannelsThe device does not contain sufficient protection mechanisms to prevent physical side channels from exposing sensitive information due to patterns in physically observable phenomena such as variations in power consumption, electromagnetic emissions (EME), or acoustic emissions.
CWE-1301Insufficient or Incomplete Data Removal within Hardware ComponentThe product's data removal process does not completely delete all data and potentially sensitive information within hardware components.
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-131Incorrect Calculation of Buffer SizeThe product does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.
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-1321Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.
CWE-1322Use of Blocking Code in Single-threaded, Non-blocking ContextThe product uses a non-blocking model that relies on a single threaded process for features such as scalability, but it contains code that can block when it is invoked.
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-1325Improperly Controlled Sequential Memory AllocationThe product manages a group of objects or resources and performs a separate memory allocation for each object, but it does not properly limit the total amount of memory that is consumed by all of the combined objects.
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-1330Remanent Data Readable after Memory EraseConfidential information stored in memory circuits is readable or recoverable after being cleared or erased.
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-1333Inefficient Regular Expression ComplexityThe product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
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-1335Incorrect Bitwise Shift of IntegerAn integer value is specified to be shifted by a negative amount or an amount greater than or equal to the number of bits contained in the value causing an unexpected or indeterminate result.
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-1339Insufficient Precision or Accuracy of a Real NumberThe product processes a real number with an implementation in which the number's representation does not preserve required accuracy and precision in its fractional part, causing an incorrect result.
CWE-134Use of Externally-Controlled Format StringThe product uses a function that accepts a format string as an argument, but the format string originates from an external source.
CWE-1341Multiple Releases of Same Resource or HandleThe product attempts to close or release a resource or handle more than once, without any successful open between the close operations.
CWE-135Incorrect Calculation of Multi-Byte String LengthThe product does not correctly calculate the length of strings that can contain wide or multi-byte characters.
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-138Improper Neutralization of Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as control elements or syntactic markers when they are sent to a downstream component.
CWE-1385Missing Origin Validation in WebSocketsThe product uses a WebSocket, but it does not properly verify that the source of data or communication is valid.
CWE-1386Insecure Operation on Windows Junction / Mount PointThe product opens a file or directory, but it does not properly prevent the name from being associated with a junction or mount point to a destination that is outside of the intended control sphere.
CWE-1389Incorrect Parsing of Numbers with Different RadicesThe product parses numeric input assuming base 10 (decimal) values, but it does not account for inputs that use a different base number (radix).
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-1395Dependency on Vulnerable Third-Party ComponentThe product has a dependency on a third-party component that contains one or more known vulnerabilities.
CWE-14Compiler Removal of Code to Clear BuffersSensitive memory is cleared according to the source code, but compiler optimizations leave the memory untouched when it is not read from again, aka "dead store removal."
CWE-140Improper Neutralization of DelimitersThe product does not neutralize or incorrectly neutralizes delimiters.
CWE-141Improper Neutralization of Parameter/Argument DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as parameter or argument delimiters when they are sent to a downstream component.
CWE-1419Incorrect Initialization of ResourceThe product attempts to initialize a resource but does not correctly do so, which might leave the resource in an unexpected, incorrect, or insecure state when it is accessed.
CWE-142Improper Neutralization of Value DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as value delimiters when they are sent to a downstream component.
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-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-143Improper Neutralization of Record DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as record delimiters when they are sent to a downstream component.
CWE-1431Driving Intermediate Cryptographic State/Results to Hardware Module OutputsThe product uses a hardware module implementing a cryptographic algorithm that writes sensitive information about the intermediate state or results of its cryptographic operations via one of its output wires (typically the output port containing the final result).
CWE-144Improper Neutralization of Line DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as line delimiters when they are sent to a downstream component.
CWE-145Improper Neutralization of Section DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as section delimiters when they are sent to a downstream component.
CWE-146Improper Neutralization of Expression/Command DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as expression or command delimiters when they are sent to a downstream component.
CWE-147Improper Neutralization of Input TerminatorsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as input terminators when they are sent to a downstream component.
CWE-148Improper Neutralization of Input LeadersThe product does not properly handle when a leading character or sequence ("leader") is missing or malformed, or if multiple leaders are used when only one should be allowed.
CWE-149Improper Neutralization of Quoting SyntaxQuotes injected into a product can be used to compromise a system. As data are parsed, an injected/absent/duplicate/malformed use of quotes may cause the process to take unexpected actions.
CWE-15External Control of System or Configuration SettingOne or more system settings or configuration elements can be externally controlled by a user.
CWE-150Improper Neutralization of Escape, Meta, or Control SequencesThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component.
CWE-151Improper Neutralization of Comment DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as comment delimiters when they are sent to a downstream component.
CWE-152Improper Neutralization of Macro SymbolsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as macro symbols when they are sent to a downstream component.
CWE-153Improper Neutralization of Substitution CharactersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as substitution characters when they are sent to a downstream component.
CWE-154Improper Neutralization of Variable Name DelimitersThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as variable name delimiters when they are sent to a downstream component.
CWE-155Improper Neutralization of Wildcards or Matching SymbolsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as wildcards or matching symbols when they are sent to a downstream component.
CWE-156Improper Neutralization of WhitespaceThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as whitespace when they are sent to a downstream component.
CWE-157Failure to Sanitize Paired DelimitersThe product does not properly handle the characters that are used to mark the beginning and ending of a group of entities, such as parentheses, brackets, and braces.
CWE-158Improper Neutralization of Null Byte or NUL CharacterThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes NUL characters or null bytes when they are sent to a downstream component.
CWE-159Improper Handling of Invalid Use of Special ElementsThe product does not properly filter, remove, quote, or otherwise manage the invalid use of special elements in user-controlled input, which could cause adverse effect on its behavior and integrity.
CWE-160Improper Neutralization of Leading Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-161Improper Neutralization of Multiple Leading Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-162Improper Neutralization of Trailing Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-163Improper Neutralization of Multiple Trailing Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-164Improper Neutralization of Internal Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-165Improper Neutralization of Multiple Internal Special ElementsThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
CWE-166Improper Handling of Missing Special ElementThe product receives input from an upstream component, but it does not handle or incorrectly handles when an expected special element is missing.
CWE-167Improper Handling of Additional Special ElementThe product receives input from an upstream component, but it does not handle or incorrectly handles when an additional unexpected special element is provided.
CWE-168Improper Handling of Inconsistent Special ElementsThe product does not properly handle input in which an inconsistency exists between two or more special characters or reserved words.
CWE-170Improper Null TerminationThe product does not terminate or incorrectly terminates a string or array with a null character or equivalent terminator.
CWE-172Encoding ErrorThe product does not properly encode or decode the data, resulting in unexpected values.
CWE-173Improper Handling of Alternate EncodingThe product does not properly handle when an input uses an alternate encoding that is valid for the control sphere to which the input is being sent.
CWE-174Double Decoding of the Same DataThe product decodes the same input twice, which can limit the effectiveness of any protection mechanism that occurs in between the decoding operations.
CWE-175Improper Handling of Mixed EncodingThe product does not properly handle when the same input uses several different (mixed) encodings.
CWE-176Improper Handling of Unicode EncodingThe product does not properly handle when an input contains Unicode encoding.
CWE-177Improper Handling of URL Encoding (Hex Encoding)The product does not properly handle when all or part of an input has been URL encoded.
CWE-178Improper Handling of Case SensitivityThe product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.
CWE-179Incorrect Behavior Order: Early ValidationThe product validates input before applying protection mechanisms that modify the input, which could allow an attacker to bypass the validation via dangerous inputs that only arise after the modification.
CWE-180Incorrect Behavior Order: Validate Before CanonicalizeThe product validates input before it is canonicalized, which prevents the product from detecting data that becomes invalid after the canonicalization step.
CWE-181Incorrect Behavior Order: Validate Before FilterThe product validates data before it has been filtered, which prevents the product from detecting data that becomes invalid after the filtering step.
CWE-182Collapse of Data into Unsafe ValueThe product filters data in a way that causes it to be reduced or "collapsed" into an unsafe value that violates an expected security property.
CWE-183Permissive List of Allowed InputsThe product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are explicitly allowed by policy because the inputs are assumed to be safe, but the list is too permissive - that is, it allows an input that is unsafe, leading to resultant weaknesses.
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-185Incorrect Regular ExpressionThe product specifies a regular expression in a way that causes data to be improperly matched or compared.
CWE-186Overly Restrictive Regular ExpressionA regular expression is overly restrictive, which prevents dangerous values from being detected.
CWE-187Partial String ComparisonThe product performs a comparison that only examines a portion of a factor before determining whether there is a match, such as a substring, leading to resultant weaknesses.
CWE-188Reliance on Data/Memory LayoutThe product makes invalid assumptions about how protocol data or memory is organized at a lower level, resulting in unintended program behavior.
CWE-190Integer Overflow or WraparoundThe product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
CWE-191Integer Underflow (Wrap or Wraparound)The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.
CWE-192Integer Coercion ErrorInteger coercion refers to a set of flaws pertaining to the type casting, extension, or truncation of primitive data types.
CWE-193Off-by-one ErrorA product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.
CWE-194Unexpected Sign ExtensionThe product performs an operation on a number that causes it to be sign extended when it is transformed into a larger data type. When the original number is negative, this can produce unexpected values that lead to resultant weaknesses.
CWE-195Signed to Unsigned Conversion ErrorThe product uses a signed primitive and performs a cast to an unsigned primitive, which can produce an unexpected value if the value of the signed primitive can not be represented using an unsigned primitive.
CWE-196Unsigned to Signed Conversion ErrorThe product uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value if the value of the unsigned primitive can not be represented using a signed primitive.
CWE-197Numeric Truncation ErrorTruncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion.
CWE-198Use of Incorrect Byte OrderingThe product receives input from an upstream component, but it does not account for byte ordering (e.g. big-endian and little-endian) when processing the input, causing an incorrect number or value to be used.
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-206Observable Internal Behavioral DiscrepancyThe product performs multiple behaviors that are combined to produce a single result, but the individual behaviors are observable separately in a way that allows attackers to reveal internal state or internal decision points.
CWE-207Observable Behavioral Discrepancy With Equivalent ProductsThe product operates in an environment in which its existence or specific identity should not be known, but it behaves differently than other products with equivalent functionality, in a way that is observable to an attacker.
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-215Insertion of Sensitive Information Into Debugging CodeThe product inserts sensitive information into debugging code, which could expose this information if the debugging code is not disabled in production.
CWE-219Storage of File with Sensitive Data Under Web RootThe product stores sensitive data under the web document root with insufficient access control, which might make it accessible to untrusted parties.
CWE-22Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
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-222Truncation of Security-relevant InformationThe product truncates the display, recording, or processing of security-relevant information in a way that can obscure the source or nature of an attack.
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-224Obscured Security-relevant Information by Alternate NameThe product records security-relevant information according to an alternate name of the affected entity, instead of the canonical name.
CWE-226Sensitive Information in Resource Not Removed Before ReuseThe product releases a resource such as memory or a file so that it can be made available for reuse, but it does not clear or "zeroize" the information contained in the resource before the product performs a critical state transition or makes the resource available for reuse by other entities.
CWE-228Improper Handling of Syntactically Invalid StructureThe product does not handle or incorrectly handles input that is not syntactically well-formed with respect to the associated specification.
CWE-229Improper Handling of ValuesThe product does not properly handle when the expected number of values for parameters, fields, or arguments is not provided in input, or if those values are undefined.
CWE-23Relative Path TraversalThe product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as ".." that can resolve to a location that is outside of that directory.
CWE-230Improper Handling of Missing ValuesThe product does not handle or incorrectly handles when a parameter, field, or argument name is specified, but the associated value is missing, i.e. it is empty, blank, or null.
CWE-231Improper Handling of Extra ValuesThe product does not handle or incorrectly handles when more values are provided than expected.
CWE-232Improper Handling of Undefined ValuesThe product does not handle or incorrectly handles when a value is not defined or supported for the associated parameter, field, or argument name.
CWE-233Improper Handling of ParametersThe product does not properly handle when the expected number of parameters, fields, or arguments is not provided in input, or if those parameters are undefined.
CWE-234Failure to Handle Missing ParameterIf too few arguments are sent to a function, the function will still pop the expected number of arguments from the stack. Potentially, a variable number of arguments could be exhausted in a function as well.
CWE-235Improper Handling of Extra ParametersThe product does not handle or incorrectly handles when the number of parameters, fields, or arguments with the same name exceeds the expected amount.
CWE-236Improper Handling of Undefined ParametersThe product does not handle or incorrectly handles when a particular parameter, field, or argument name is not defined or supported by the product.
CWE-238Improper Handling of Incomplete Structural ElementsThe product does not handle or incorrectly handles when a particular structural element is not completely specified.
CWE-239Failure to Handle Incomplete ElementThe product does not properly handle when a particular element is not completely specified.
CWE-24Path Traversal: '../filedir'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize "../" sequences that can resolve to a location that is outside of that directory.
CWE-240Improper Handling of Inconsistent Structural ElementsThe product does not handle or incorrectly handles when two or more structural elements should be consistent, but are not.
CWE-241Improper Handling of Unexpected Data TypeThe product does not handle or incorrectly handles when a particular element is not the expected type, e.g. it expects a digit (0-9) but is provided with a letter (A-Z).
CWE-242Use of Inherently Dangerous FunctionThe product calls a function that can never be guaranteed to work safely.
CWE-243Creation of chroot Jail Without Changing Working DirectoryThe product uses the chroot() system call to create a jail, but does not change the working directory afterward. This does not prevent access to files outside of the jail.
CWE-244Improper Clearing of Heap Memory Before Release ('Heap Inspection')Using realloc() to resize buffers that store sensitive information can leave the sensitive information exposed to attack, because it is not removed from memory.
CWE-245J2EE Bad Practices: Direct Management of ConnectionsThe J2EE application directly manages connections, instead of using the container's connection management facilities.
CWE-246J2EE Bad Practices: Direct Use of SocketsThe J2EE application directly uses sockets instead of using framework method calls.
CWE-248Uncaught ExceptionAn exception is thrown from a function, but it is not caught.
CWE-25Path Traversal: '/../filedir'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize "/../" sequences that can resolve to a location that is outside of that directory.
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-252Unchecked Return ValueThe product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
CWE-253Incorrect Check of Function Return ValueThe product incorrectly checks a return value from a function, which prevents it from detecting errors or exceptional conditions.
CWE-258Empty Password in Configuration FileUsing an empty string as a password is insecure.
CWE-259Use of Hard-coded PasswordThe product contains a hard-coded password, which it uses for its own inbound authentication or for outbound communication to external components.
CWE-26Path Traversal: '/dir/../filename'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize "/dir/../filename" sequences that can resolve to a location that is outside of that directory.
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-266Incorrect Privilege AssignmentA product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor.
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-27Path Traversal: 'dir/../../filename'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize multiple internal "../" sequences that can resolve to a location that is outside of that directory.
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-272Least Privilege ViolationThe elevated privilege level required to perform operations such as chroot() should be dropped immediately after the operation is performed.
CWE-273Improper Check for Dropped PrivilegesThe product attempts to drop privileges but does not check or incorrectly checks to see if the drop succeeded.
CWE-274Improper Handling of Insufficient PrivilegesThe product does not handle or incorrectly handles when it has insufficient privileges to perform an operation, leading to resultant weaknesses.
CWE-276Incorrect Default PermissionsDuring installation, installed file permissions are set to allow anyone to modify those files.
CWE-277Insecure Inherited PermissionsA product defines a set of insecure permissions that are inherited by objects that are created by the program.
CWE-279Incorrect Execution-Assigned PermissionsWhile it is executing, the product sets the permissions of an object in a way that violates the intended permissions that have been specified by the user.
CWE-28Path Traversal: '..\filedir'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize "..\" sequences that can resolve to a location that is outside of that directory.
CWE-280Improper Handling of Insufficient Permissions or Privileges The product does not handle or incorrectly handles when it has insufficient privileges to access resources or functionality as specified by their permissions. This may cause it to follow unexpected code paths that may leave the product in an invalid state.
CWE-281Improper Preservation of PermissionsThe product does not preserve permissions or incorrectly preserves permissions when copying, restoring, or sharing objects, which can cause them to have less restrictive permissions than intended.
CWE-284Improper Access ControlThe product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
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-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-29Path Traversal: '\..\filename'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '\..\filename' (leading backslash dot dot) sequences that can resolve to a location that is outside of that directory.
CWE-290Authentication Bypass by SpoofingThis attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.
CWE-295Improper Certificate ValidationThe product does not validate, or incorrectly validates, a certificate.
CWE-296Improper Following of a Certificate's Chain of TrustThe product does not follow, or incorrectly follows, the chain of trust for a certificate back to a trusted root certificate, resulting in incorrect trust of any resource that is associated with that certificate.
CWE-297Improper Validation of Certificate with Host MismatchThe product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host.
CWE-298Improper Validation of Certificate ExpirationA certificate expiration is not validated or is incorrectly validated, so trust may be assigned to certificates that have been abandoned due to age.
CWE-299Improper Check for Certificate RevocationThe product does not check or incorrectly checks the revocation status of a certificate, which may cause it to use a certificate that has been compromised.
CWE-30Path Traversal: '\dir\..\filename'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '\dir\..\filename' (leading backslash dot dot) sequences that can resolve to a location that is outside of that directory.
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-303Incorrect Implementation of Authentication AlgorithmThe requirements for the product dictate the use of an established authentication algorithm, but the implementation of the algorithm is incorrect.
CWE-304Missing Critical Step in AuthenticationThe product implements an authentication technique, but it skips a step that weakens the technique.
CWE-305Authentication Bypass by Primary WeaknessThe authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error.
CWE-31Path Traversal: 'dir\..\..\filename'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize 'dir\..\..\filename' (multiple internal backslash dot dot) sequences that can resolve to a location that is outside of that directory.
CWE-318Cleartext Storage of Sensitive Information in ExecutableThe product stores sensitive information in cleartext in an executable.
CWE-32Path Traversal: '...' (Triple Dot)The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '...' (triple dot) sequences that can resolve to a location that is outside of that directory.
CWE-325Missing Cryptographic StepThe product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm.
CWE-327Use of a Broken or Risky Cryptographic AlgorithmThe product uses a broken or risky cryptographic algorithm or protocol.
CWE-329Generation of Predictable IV with CBC ModeThe product generates and uses a predictable initialization Vector (IV) with Cipher Block Chaining (CBC) Mode, which causes algorithms to be susceptible to dictionary attacks when they are encrypted under the same key.
CWE-33Path Traversal: '....' (Multiple Dot)The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '....' (multiple dot) sequences that can resolve to a location that is outside of that directory.
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-332Insufficient Entropy in PRNGThe lack of entropy available for, or used by, a Pseudo-Random Number Generator (PRNG) can be a stability and security threat.
CWE-333Improper Handling of Insufficient Entropy in TRNGTrue random number generators (TRNG) generally have a limited source of entropy and therefore can fail or block.
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-335Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)The product uses a Pseudo-Random Number Generator (PRNG) but does not correctly manage seeds.
CWE-336Same Seed in Pseudo-Random Number Generator (PRNG)A Pseudo-Random Number Generator (PRNG) uses the same seed each time the product is initialized.
CWE-337Predictable Seed in Pseudo-Random Number Generator (PRNG)A Pseudo-Random Number Generator (PRNG) is initialized from a predictable seed, such as the process ID or system time.
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-339Small Seed Space in PRNGA Pseudo-Random Number Generator (PRNG) uses a relatively small seed space, which makes it more susceptible to brute force attacks.
CWE-34Path Traversal: '....//'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '....//' (doubled dot dot slash) sequences that can resolve to a location that is outside of that directory.
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-349Acceptance of Extraneous Untrusted Data With Trusted DataThe product, when processing trusted data, accepts any untrusted data that is also included with the trusted data, treating the untrusted data as if it were trusted.
CWE-35Path Traversal: '.../...//'The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '.../...//' (doubled triple dot slash) sequences that can resolve to a location that is outside of that directory.
CWE-351Insufficient Type DistinctionThe product does not properly distinguish between different types of elements in a way that leads to insecure behavior.
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-36Absolute Path TraversalThe product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize absolute path sequences such as "/abs/path" that can resolve to a location that is outside of that directory.
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-364Signal Handler Race ConditionThe product uses a signal handler that introduces a race condition.
CWE-366Race Condition within a ThreadIf two threads of execution use a resource simultaneously, there exists the possibility that resources may be used while invalid, in turn making the state of execution undefined.
CWE-367Time-of-check Time-of-use (TOCTOU) Race ConditionThe product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check.
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-369Divide By ZeroThe product divides a value by zero.
CWE-37Path Traversal: '/absolute/pathname/here'The product accepts input in the form of a slash absolute path ('/absolute/pathname/here') without appropriate validation, which can allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-370Missing Check for Certificate Revocation after Initial CheckThe product does not check the revocation status of a certificate after its initial revocation check, which can cause the product to perform privileged actions even after the certificate is revoked at a later time.
CWE-372Incomplete Internal State DistinctionThe product does not properly determine which state it is in, causing it to assume it is in state X when in fact it is in state Y, causing it to perform incorrect operations in a security-relevant manner.
CWE-374Passing Mutable Objects to an Untrusted MethodThe product sends non-cloned mutable data as an argument to a method or function.
CWE-375Returning a Mutable Object to an Untrusted CallerSending non-cloned mutable data as a return value may result in that data being altered or deleted by the calling function.
CWE-377Insecure Temporary FileCreating and using insecure temporary files can leave application and system data vulnerable to attack.
CWE-378Creation of Temporary File With Insecure PermissionsOpening temporary files without appropriate measures or controls can leave the file, its contents and any function that it impacts vulnerable to attack.
CWE-379Creation of Temporary File in Directory with Insecure PermissionsThe product creates a temporary file in a directory whose permissions allow unintended actors to determine the file's existence or otherwise access that file.
CWE-38Path Traversal: '\absolute\pathname\here'The product accepts input in the form of a backslash absolute path ('\absolute\pathname\here') without appropriate validation, which can allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-382J2EE Bad Practices: Use of System.exit()A J2EE application uses System.exit(), which also shuts down its container.
CWE-383J2EE Bad Practices: Direct Use of ThreadsThread management in a Web application is forbidden in some circumstances and is always highly error prone.
CWE-384Session FixationAuthenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier gives an attacker the opportunity to steal authenticated sessions.
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-39Path Traversal: 'C:dirname'The product accepts input that contains a drive letter or Windows volume letter ('C:dirname') that potentially redirects access to an unintended location or arbitrary file.
CWE-390Detection of Error Condition Without ActionThe product detects a specific error, but takes no actions to handle the error.
CWE-391Unchecked Error Condition[PLANNED FOR DEPRECATION. SEE MAINTENANCE NOTES AND CONSIDER CWE-252, CWE-248, OR CWE-1069.] Ignoring exceptions and other error conditions may allow an attacker to induce unexpected behavior unnoticed.
CWE-392Missing Report of Error ConditionThe product encounters an error but does not provide a status code or return value to indicate that an error has occurred.
CWE-393Return of Wrong Status CodeA function or operation returns an incorrect return value or status code that does not indicate the true result of execution, causing the product to modify its behavior based on the incorrect result.
CWE-394Unexpected Status Code or Return ValueThe product does not properly check when a function or operation returns a value that is legitimate for the function, but is not expected by the product.
CWE-395Use of NullPointerException Catch to Detect NULL Pointer DereferenceCatching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer.
CWE-396Declaration of Catch for Generic ExceptionCatching overly broad exceptions promotes complex error handling code that is more likely to contain security vulnerabilities.
CWE-397Declaration of Throws for Generic ExceptionThe product throws or raises an overly broad exceptions that can hide important details and produce inappropriate responses to certain conditions.
CWE-40Path Traversal: '\\UNC\share\name\' (Windows UNC Share)The product accepts input that identifies a Windows UNC share ('\\UNC\share\name') that potentially redirects access to an unintended location or arbitrary file.
CWE-400Uncontrolled Resource ConsumptionThe product does not properly control the allocation and maintenance of a limited resource.
CWE-401Missing Release of Memory after Effective LifetimeThe product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.
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-403Exposure of File Descriptor to Unintended Control Sphere ('File Descriptor Leak')A process does not close sensitive file descriptors before invoking a child process, which allows the child to perform unauthorized I/O operations using those descriptors.
CWE-404Improper Resource Shutdown or ReleaseThe product does not release or incorrectly releases a resource before it is made available for re-use.
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-41Improper Resolution of Path EquivalenceThe product is vulnerable to file system contents disclosure through path equivalence. Path equivalence involves the use of special characters in file and directory names. The associated manipulations are intended to generate multiple names for the same object.
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-415Double FreeThe product calls free() twice on the same memory address.
CWE-416Use After FreeThe product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
CWE-419Unprotected Primary ChannelThe product uses a primary channel for administration or restricted functionality, but it does not properly protect the channel.
CWE-42Path Equivalence: 'filename.' (Trailing Dot)The product accepts path input in the form of trailing dot ('filedir.') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-420Unprotected Alternate ChannelThe product protects a primary channel, but it does not use the same level of protection for an alternate channel.
CWE-425Direct Request ('Forced Browsing')The web application does not adequately enforce appropriate authorization on all restricted URLs, scripts, or files.
CWE-426Untrusted Search PathThe product searches for critical resources using an externally-supplied search path that can point to resources that are not under the product's direct control.
CWE-427Uncontrolled Search Path ElementThe product uses a fixed or controlled search path to find resources, but one or more locations in that path can be under the control of unintended actors.
CWE-428Unquoted Search Path or ElementThe product uses a search path that contains an unquoted element, in which the element contains whitespace or other separators. This can cause the product to access resources in a parent path.
CWE-43Path Equivalence: 'filename....' (Multiple Trailing Dot)The product accepts path input in the form of multiple trailing dot ('filedir....') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-430Deployment of Wrong HandlerThe wrong "handler" is assigned to process an object.
CWE-431Missing HandlerA handler is not available or implemented.
CWE-432Dangerous Signal Handler not Disabled During Sensitive OperationsThe product uses a signal handler that shares state with other signal handlers, but it does not properly mask or prevent those signal handlers from being invoked while the original signal handler is still running.
CWE-433Unparsed Raw Web Content DeliveryThe product stores raw content or supporting code under the web document root with an extension that is not specifically handled by the server.
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-435Improper Interaction Between Multiple Correctly-Behaving EntitiesAn interaction error occurs when two entities have correct behavior when running independently of each other, but when they are integrated as components in a larger system or process, they introduce incorrect behaviors that may cause resultant weaknesses.
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-44Path Equivalence: 'file.name' (Internal Dot)The product accepts path input in the form of internal dot ('file.ordir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-440Expected Behavior ViolationA feature, API, or function does not perform according to its specification.
CWE-444Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.
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-447Unimplemented or Unsupported Feature in UIA UI function for a security feature appears to be supported and gives feedback to the user that suggests that it is supported, but the underlying functionality is not implemented.
CWE-448Obsolete Feature in UIA UI function is obsolete and the product does not warn the user.
CWE-449The UI Performs the Wrong ActionThe UI performs the wrong action with respect to the user's request.
CWE-45Path Equivalence: 'file...name' (Multiple Internal Dot)The product accepts path input in the form of multiple internal dot ('file...dir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-450Multiple Interpretations of UI InputThe UI has multiple interpretations of user input but does not prompt the user when it selects the less secure interpretation.
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-453Insecure Default Variable InitializationThe product, by default, initializes an internal variable with an insecure or less secure value than is possible.
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-455Non-exit on Failed InitializationThe product does not exit or otherwise modify its operation when security-relevant errors occur during initialization, such as when a configuration file has a format error or a hardware security module (HSM) cannot be activated, which can cause the product to execute in a less secure fashion than intended by the administrator.
CWE-456Missing Initialization of a VariableThe product does not initialize critical variables, which causes the execution environment to use unexpected values.
CWE-457Use of Uninitialized VariableThe code uses a variable that has not been initialized, leading to unpredictable or unintended results.
CWE-459Incomplete CleanupThe product does not properly "clean up" and remove temporary or supporting resources after they have been used.
CWE-46Path Equivalence: 'filename ' (Trailing Space)The product accepts path input in the form of trailing space ('filedir ') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-460Improper Cleanup on Thrown ExceptionThe product does not clean up its state or incorrectly cleans up its state when an exception is thrown, leading to unexpected state or control flow.
CWE-462Duplicate Key in Associative List (Alist)Duplicate keys in associative lists can lead to non-unique keys being mistaken for an error.
CWE-463Deletion of Data Structure SentinelThe accidental deletion of a data-structure sentinel can cause serious programming logic problems.
CWE-464Addition of Data Structure SentinelThe accidental addition of a data-structure sentinel can cause serious programming logic problems.
CWE-466Return of Pointer Value Outside of Expected RangeA function can return a pointer to memory that is outside of the buffer that the pointer is expected to reference.
CWE-467Use of sizeof() on a Pointer TypeThe code calls sizeof() on a pointer type, which can be an incorrect calculation if the programmer intended to determine the size of the data that is being pointed to.
CWE-468Incorrect Pointer ScalingIn C and C++, one may often accidentally refer to the wrong memory due to the semantics of when math operations are implicitly scaled.
CWE-469Use of Pointer Subtraction to Determine SizeThe product subtracts one pointer from another in order to determine size, but this calculation can be incorrect if the pointers do not exist in the same memory chunk.
CWE-47Path Equivalence: ' filename' (Leading Space)The product accepts path input in the form of leading space (' filedir') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
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-472External Control of Assumed-Immutable Web ParameterThe web application does not sufficiently verify inputs that are assumed to be immutable but are actually externally controllable, such as hidden form fields.
CWE-473PHP External Variable ModificationA PHP application does not properly protect against the modification of variables from external sources, such as query parameters or cookies. This can expose the application to numerous weaknesses that would not exist otherwise.
CWE-474Use of Function with Inconsistent ImplementationsThe code uses a function that has inconsistent implementations across operating systems and versions.
CWE-475Undefined Behavior for Input to APIThe behavior of this function is undefined unless its control parameter is set to a specific value.
CWE-476NULL Pointer DereferenceThe product dereferences a pointer that it expects to be valid but is NULL.
CWE-477Use of Obsolete FunctionThe code uses deprecated or obsolete functions, which suggests that the code has not been actively reviewed or maintained.
CWE-478Missing Default Case in Multiple Condition ExpressionThe code does not have a default case in an expression with multiple conditions, such as a switch statement.
CWE-479Signal Handler Use of a Non-reentrant FunctionThe product defines a signal handler that calls a non-reentrant function.
CWE-48Path Equivalence: 'file name' (Internal Whitespace)The product accepts path input in the form of internal space ('file(SPACE)name') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-480Use of Incorrect OperatorThe product accidentally uses the wrong operator, which changes the logic in security-relevant ways.
CWE-481Assigning instead of ComparingThe code uses an operator for assignment when the intention was to perform a comparison.
CWE-482Comparing instead of AssigningThe code uses an operator for comparison when the intention was to perform an assignment.
CWE-483Incorrect Block DelimitationThe code does not explicitly delimit a block that is intended to contain 2 or more statements, creating a logic error.
CWE-484Omitted Break Statement in SwitchThe product omits a break statement within a switch or similar construct, causing code associated with multiple conditions to execute. This can cause problems when the programmer only intended to execute code associated with one condition.
CWE-486Comparison of Classes by NameThe product compares classes by name, which can cause it to use the wrong class when multiple classes can have the same name.
CWE-487Reliance on Package-level ScopeJava packages are not inherently closed; therefore, relying on them for code security is not a good practice.
CWE-488Exposure of Data Element to Wrong SessionThe product does not sufficiently enforce boundaries between the states of different sessions, causing data to be provided to, or used by, the wrong session.
CWE-489Active Debug CodeThe product is released with debugging code still enabled or active.
CWE-49Path Equivalence: 'filename/' (Trailing Slash)The product accepts path input in the form of trailing slash ('filedir/') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-491Public cloneable() Method Without Final ('Object Hijack')A class has a cloneable() method that is not declared final, which allows an object to be created without calling the constructor. This can cause the object to be in an unexpected state.
CWE-492Use of Inner Class Containing Sensitive DataInner classes are translated into classes that are accessible at package scope and may expose code that the programmer intended to keep private to attackers.
CWE-493Critical Public Variable Without Final ModifierThe product has a critical public variable that is not final, which allows the variable to be modified to contain unexpected values.
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-495Private Data Structure Returned From A Public MethodThe product has a method that is declared public, but returns a reference to a private data structure, which could then be modified in unexpected ways.
CWE-496Public Data Assigned to Private Array-Typed FieldAssigning public data to a private array is equivalent to giving public access to the array.
CWE-497Exposure of Sensitive System Information to an Unauthorized Control SphereThe product does not properly prevent sensitive system-level information from being accessed by unauthorized actors who do not have the same level of access to the underlying system as the product does.
CWE-498Cloneable Class Containing Sensitive InformationThe code contains a class with sensitive data, but the class is cloneable. The data can then be accessed by cloning the class.
CWE-499Serializable Class Containing Sensitive DataThe code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class.
CWE-5J2EE Misconfiguration: Data Transmission Without EncryptionInformation sent over a network can be compromised while in transit. An attacker may be able to read or modify the contents if the data are sent in plaintext or are weakly encrypted.
CWE-50Path Equivalence: '//multiple/leading/slash'The product accepts path input in the form of multiple leading slash ('//multiple/leading/slash') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-500Public Static Field Not Marked FinalAn object contains a public static field that is not marked final, which might allow it to be modified in unexpected ways.
CWE-502Deserialization of Untrusted DataThe product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
CWE-506Embedded Malicious CodeThe product contains code that appears to be malicious in nature.
CWE-507Trojan HorseThe product appears to contain benign or useful functionality, but it also contains code that is hidden from normal operation that violates the intended security policy of the user or the system administrator.
CWE-508Non-Replicating Malicious CodeNon-replicating malicious code only resides on the target system or product that is attacked; it does not attempt to spread to other systems.
CWE-509Replicating Malicious Code (Virus or Worm)Replicating malicious code, including viruses and worms, will attempt to attack other systems once it has successfully compromised the target system or the product.
CWE-51Path Equivalence: '/multiple//internal/slash'The product accepts path input in the form of multiple internal slash ('/multiple//internal/slash/') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
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-514Covert ChannelA covert channel is a path that can be used to transfer information in a way not intended by the system's designers.
CWE-515Covert Storage ChannelA covert storage channel transfers information through the setting of bits by one program and the reading of those bits by another. What distinguishes this case from that of ordinary operation is that the bits are used to convey encoded information.
CWE-52Path Equivalence: '/multiple/trailing/slash//'The product accepts path input in the form of multiple trailing slash ('/multiple/trailing/slash//') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-520.NET Misconfiguration: Use of ImpersonationAllowing a .NET application to run at potentially escalated levels of access to the underlying operating and file systems can be dangerous and result in various forms of attacks.
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-524Use of Cache Containing Sensitive InformationThe code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere.
CWE-525Use of Web Browser Cache Containing Sensitive InformationThe web application does not use an appropriate caching policy that specifies the extent to which each web page and associated form fields should be cached.
CWE-526Cleartext Storage of Sensitive Information in an Environment VariableThe product uses an environment variable to store unencrypted sensitive information.
CWE-53Path Equivalence: '\multiple\\internal\backslash'The product accepts path input in the form of multiple internal backslash ('\multiple\trailing\\slash') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-532Insertion of Sensitive Information into Log FileThe product writes sensitive information to a log file.
CWE-535Exposure of Information Through Shell Error MessageA command shell error message indicates that there exists an unhandled exception in the web application code. In many cases, an attacker can leverage the conditions that cause these errors in order to gain unauthorized access to the system.
CWE-536Servlet Runtime Error Message Containing Sensitive InformationA servlet error message indicates that there exists an unhandled exception in your web application code and may provide useful information to an attacker.
CWE-537Java Runtime Error Message Containing Sensitive InformationIn many cases, an attacker can leverage the conditions that cause unhandled exception errors in order to gain unauthorized access to the system.
CWE-538Insertion of Sensitive Information into Externally-Accessible File or DirectoryThe product places sensitive information into files or directories that are accessible to actors who are allowed to have access to the files, but not to the sensitive information.
CWE-539Use of Persistent Cookies Containing Sensitive InformationThe web application uses persistent cookies, but the cookies contain sensitive information.
CWE-54Path Equivalence: 'filedir\' (Trailing Backslash)The product accepts path input in the form of trailing backslash ('filedir\') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-540Inclusion of Sensitive Information in Source CodeSource code on a web server or repository often contains sensitive information and should generally not be accessible to users.
CWE-541Inclusion of Sensitive Information in an Include FileIf an include file source is accessible, the file can contain usernames and passwords, as well as sensitive information pertaining to the application and system.
CWE-543Use of Singleton Pattern Without Synchronization in a Multithreaded ContextThe product uses the singleton pattern when creating a resource within a multithreaded environment.
CWE-546Suspicious CommentThe code contains comments that suggest the presence of bugs, incomplete functionality, or weaknesses.
CWE-547Use of Hard-coded, Security-relevant ConstantsThe product uses hard-coded constants instead of symbolic names for security-critical values, which increases the likelihood of mistakes during code maintenance or security policy change.
CWE-548Exposure of Information Through Directory ListingThe product inappropriately exposes a directory listing with an index of all the resources located inside of the directory.
CWE-549Missing Password Field MaskingThe product does not mask passwords during entry, increasing the potential for attackers to observe and capture passwords.
CWE-55Path Equivalence: '/./' (Single Dot Directory)The product accepts path input in the form of single dot directory exploit ('/./') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-550Server-generated Error Message Containing Sensitive InformationCertain conditions, such as network failure, will cause a server error message to be displayed.
CWE-551Incorrect Behavior Order: Authorization Before Parsing and CanonicalizationIf a web server does not fully parse requested URLs before it examines them for authorization, it may be possible for an attacker to bypass authorization protection.
CWE-552Files or Directories Accessible to External PartiesThe product makes files or directories accessible to unauthorized actors, even though they should not be.
CWE-553Command Shell in Externally Accessible DirectoryA possible shell file exists in /cgi-bin/ or other accessible directories. This is extremely dangerous and can be used by an attacker to execute commands on the web server.
CWE-554ASP.NET Misconfiguration: Not Using Input Validation FrameworkThe ASP.NET application does not use an input validation framework.
CWE-555J2EE Misconfiguration: Plaintext Password in Configuration FileThe J2EE application stores a plaintext password in a configuration file.
CWE-556ASP.NET Misconfiguration: Use of Identity ImpersonationConfiguring an ASP.NET application to run with impersonated credentials may give the application unnecessary privileges.
CWE-558Use of getlogin() in Multithreaded ApplicationThe product uses the getlogin() function in a multithreaded context, potentially causing it to return incorrect values.
CWE-56Path Equivalence: 'filedir*' (Wildcard)The product accepts path input in the form of asterisk wildcard ('filedir*') without appropriate validation, which can lead to ambiguous path resolution and allow an attacker to traverse the file system to unintended locations or access arbitrary files.
CWE-560Use of umask() with chmod-style ArgumentThe product calls umask() with an incorrect argument that is specified as if it is an argument to chmod().
CWE-561Dead CodeThe product contains dead code, which can never be executed.
CWE-562Return of Stack Variable AddressA function returns the address of a stack variable, which will cause unintended program behavior, typically in the form of a crash.
CWE-563Assignment to Variable without UseThe variable's value is assigned but never used, making it a dead store.
CWE-564SQL Injection: HibernateUsing Hibernate to execute a dynamic SQL statement built with user-controlled input can allow an attacker to modify the statement's meaning or to execute arbitrary SQL commands.
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-566Authorization Bypass Through User-Controlled SQL Primary KeyThe product uses a database table that includes records that should not be accessible to an actor, but it executes a SQL statement with a primary key that can be controlled by that actor.
CWE-567Unsynchronized Access to Shared Data in a Multithreaded ContextThe product does not properly synchronize shared data, such as static variables across threads, which can lead to undefined behavior and unpredictable data changes.
CWE-568finalize() Method Without super.finalize()The product contains a finalize() method that does not call super.finalize().
CWE-57Path Equivalence: 'fakedir/../realdir/filename'The product contains protection mechanisms to restrict access to 'realdir/filename', but it constructs pathnames using external input in the form of 'fakedir/../realdir/filename' that are not handled by those mechanisms. This allows attackers to perform unauthorized actions against the targeted file.
CWE-570Expression is Always FalseThe product contains an expression that will always evaluate to false.
CWE-571Expression is Always TrueThe product contains an expression that will always evaluate to true.
CWE-572Call to Thread run() instead of start()The product calls a thread's run() method instead of calling start(), which causes the code to run in the thread of the caller instead of the callee.
CWE-573Improper Following of Specification by CallerThe product does not follow or incorrectly follows the specifications as required by the implementation language, environment, framework, protocol, or platform.
CWE-574EJB Bad Practices: Use of Synchronization PrimitivesThe product violates the Enterprise JavaBeans (EJB) specification by using thread synchronization primitives.
CWE-575EJB Bad Practices: Use of AWT SwingThe product violates the Enterprise JavaBeans (EJB) specification by using AWT/Swing.
CWE-576EJB Bad Practices: Use of Java I/OThe product violates the Enterprise JavaBeans (EJB) specification by using the java.io package.
CWE-577EJB Bad Practices: Use of SocketsThe product violates the Enterprise JavaBeans (EJB) specification by using sockets.
CWE-578EJB Bad Practices: Use of Class LoaderThe product violates the Enterprise JavaBeans (EJB) specification by using the class loader.
CWE-579J2EE Bad Practices: Non-serializable Object Stored in SessionThe product stores a non-serializable object as an HttpSession attribute, which can hurt reliability.
CWE-58Path Equivalence: Windows 8.3 FilenameThe product contains a protection mechanism that restricts access to a long filename on a Windows operating system, but it does not properly restrict access to the equivalent short "8.3" filename.
CWE-580clone() Method Without super.clone()The product contains a clone() method that does not call super.clone() to obtain the new object.
CWE-581Object Model Violation: Just One of Equals and Hashcode DefinedThe product does not maintain equal hashcodes for equal objects.
CWE-582Array Declared Public, Final, and StaticThe product declares an array public, final, and static, which is not sufficient to prevent the array's contents from being modified.
CWE-583finalize() Method Declared PublicThe product violates secure coding principles for mobile code by declaring a finalize() method public.
CWE-584Return Inside Finally BlockThe code has a return statement inside a finally block, which will cause any thrown exception in the try block to be discarded.
CWE-585Empty Synchronized BlockThe product contains an empty synchronized block.
CWE-586Explicit Call to Finalize()The product makes an explicit call to the finalize() method from outside the finalizer.
CWE-587Assignment of a Fixed Address to a PointerThe product sets a pointer to a specific address other than NULL or 0.
CWE-588Attempt to Access Child of a Non-structure PointerCasting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption.
CWE-589Call to Non-ubiquitous APIThe product uses an API function that does not exist on all versions of the target platform. This could cause portability problems or inconsistencies that allow denial of service or other consequences.
CWE-59Improper Link Resolution Before File Access ('Link Following')The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
CWE-590Free of Memory not on the HeapThe product calls free() on a pointer to memory that was not allocated using associated heap allocation functions such as malloc(), calloc(), or realloc().
CWE-591Sensitive Data Storage in Improperly Locked MemoryThe product stores sensitive data in memory that is not locked, or that has been incorrectly locked, which might cause the memory to be written to swap files on disk by the virtual memory manager. This can make the data more accessible to external actors.
CWE-593Authentication Bypass: OpenSSL CTX Object Modified after SSL Objects are CreatedThe product modifies the SSL context after connection creation has begun.
CWE-594J2EE Framework: Saving Unserializable Objects to DiskWhen the J2EE container attempts to write unserializable objects to disk there is no guarantee that the process will complete successfully.
CWE-595Comparison of Object References Instead of Object ContentsThe product compares object references instead of the contents of the objects themselves, preventing it from detecting equivalent objects.
CWE-597Use of Wrong Operator in String ComparisonThe product uses the wrong operator when comparing a string, such as using "==" when the .equals() method should be used instead.
CWE-598Use of GET Request Method With Sensitive Query StringsThe web application uses the HTTP GET method to process a request and includes sensitive information in the query string of that request.
CWE-599Missing Validation of OpenSSL CertificateThe product uses OpenSSL and trusts or uses a certificate without using the SSL_get_verify_result() function to ensure that the certificate satisfies all necessary security requirements.
CWE-6J2EE Misconfiguration: Insufficient Session-ID LengthThe J2EE application is configured to use an insufficient session ID length.
CWE-600Uncaught Exception in Servlet The Servlet does not catch all exceptions, which may reveal sensitive debugging information.
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-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-605Multiple Binds to the Same PortWhen multiple sockets are allowed to bind to the same port, other services on that port may be stolen or spoofed.
CWE-606Unchecked Input for Loop ConditionThe product does not properly check inputs that are used for loop conditions, potentially leading to a denial of service or other consequences because of excessive looping.
CWE-607Public Static Final Field References Mutable ObjectA public or protected static final field references a mutable object, which allows the object to be changed by malicious code, or accidentally from another package.
CWE-608Struts: Non-private Field in ActionForm ClassAn ActionForm class contains a field that has not been declared private, which can be accessed without using a setter or getter.
CWE-609Double-Checked LockingThe product uses double-checked locking to access a resource without the overhead of explicit synchronization, but the locking is insufficient.
CWE-61UNIX Symbolic Link (Symlink) FollowingThe product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.
CWE-611Improper Restriction of XML External Entity ReferenceThe product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.
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-614Sensitive Cookie in HTTPS Session Without 'Secure' AttributeThe Secure attribute for sensitive cookies in HTTPS sessions is not set.
CWE-615Inclusion of Sensitive Information in Source Code CommentsWhile adding general comments is very useful, some programmers tend to leave important data, such as: filenames related to the web application, old links or links which were not meant to be browsed by users, old code fragments, etc.
CWE-616Incomplete Identification of Uploaded File Variables (PHP)The PHP application uses an old method for processing uploaded files by referencing the four global variables that are set for each file (e.g. $varname, $varname_size, $varname_name, $varname_type). These variables could be overwritten by attackers, causing the application to process unauthorized files.
CWE-617Reachable AssertionThe product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
CWE-618Exposed Unsafe ActiveX MethodAn ActiveX control is intended for use in a web browser, but it exposes dangerous methods that perform actions that are outside of the browser's security model (e.g. the zone or domain).
CWE-619Dangling Database Cursor ('Cursor Injection')If a database cursor is not closed properly, then it could become accessible to other users while retaining the same privileges that were originally assigned, leaving the cursor "dangling."
CWE-62UNIX Hard LinkThe product, when opening a file or directory, does not sufficiently account for when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.
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-621Variable Extraction ErrorThe product uses external input to determine the names of variables into which information is extracted, without verifying that the names of the specified variables are valid. This could cause the program to overwrite unintended variables.
CWE-622Improper Validation of Function Hook ArgumentsThe product adds hooks to user-accessible API functions, but it does not properly validate the arguments. This could lead to resultant vulnerabilities.
CWE-623Unsafe ActiveX Control Marked Safe For ScriptingAn ActiveX control is intended for restricted use, but it has been marked as safe-for-scripting.
CWE-624Executable Regular Expression ErrorThe product uses a regular expression that either (1) contains an executable component with user-controlled inputs, or (2) allows a user to enable execution by inserting pattern modifiers.
CWE-625Permissive Regular ExpressionThe product uses a regular expression that does not sufficiently restrict the set of allowed values.
CWE-626Null Byte Interaction Error (Poison Null Byte)The product does not properly handle null bytes or NUL characters when passing data between different representations or components.
CWE-627Dynamic Variable EvaluationIn a language where the user can influence the name of a variable at runtime, if the variable names are not controlled, an attacker can read or write to arbitrary variables, or access arbitrary functions.
CWE-628Function Call with Incorrectly Specified ArgumentsThe product calls a function, procedure, or routine with arguments that are not correctly specified, leading to always-incorrect behavior and resultant weaknesses.
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-638Not Using Complete MediationThe product does not perform access checks on a resource every time the resource is accessed by an entity, which can create resultant weaknesses if that entity's rights or privileges change over time.
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-643Improper Neutralization of Data within XPath Expressions ('XPath Injection')The product uses external input to dynamically construct an XPath expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query.
CWE-644Improper Neutralization of HTTP Headers for Scripting SyntaxThe product does not neutralize or incorrectly neutralizes web scripting syntax in HTTP headers that can be used by web browser components that can process raw headers, such as Flash.
CWE-646Reliance on File Name or Extension of Externally-Supplied FileThe product allows a file to be uploaded, but it relies on the file name or extension of the file to determine the appropriate behaviors. This could be used by attackers to cause the file to be misclassified and processed in a dangerous fashion.
CWE-647Use of Non-Canonical URL Paths for Authorization DecisionsThe product defines policy namespaces and makes authorization decisions based on the assumption that a URL is canonical. This can allow a non-canonical URL to bypass the authorization.
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-65Windows Hard LinkThe product, when opening a file or directory, does not sufficiently handle when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.
CWE-650Trusting HTTP Permission Methods on the Server SideThe server contains a protection mechanism that assumes that any URI that is accessed using HTTP GET will not cause a state change to the associated resource. This might allow attackers to bypass intended access restrictions and conduct resource modification and deletion attacks, since some applications allow GET to modify state.
CWE-651Exposure of WSDL File Containing Sensitive InformationThe Web services architecture may require exposing a Web Service Definition Language (WSDL) file that contains information on the publicly accessible services and how callers of these services should interact with them (e.g. what parameters they expect and what types they return).
CWE-652Improper Neutralization of Data within XQuery Expressions ('XQuery Injection')The product uses external input to dynamically construct an XQuery expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query.
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-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-66Improper Handling of File Names that Identify Virtual ResourcesThe product does not handle or incorrectly handles a file name that identifies a "virtual" resource that is not directly specified within the directory that is associated with the file name, causing the product to perform file-based operations on a resource that is not a file.
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-663Use of a Non-reentrant Function in a Concurrent ContextThe product calls a non-reentrant function in a concurrent context in which a competing code sequence (e.g. thread or signal handler) may have an opportunity to call the same function or otherwise influence its state.
CWE-664Improper Control of a Resource Through its LifetimeThe product does not maintain or incorrectly maintains control over a resource throughout its lifetime of creation, use, and release.
CWE-665Improper InitializationThe product does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used.
CWE-666Operation on Resource in Wrong Phase of LifetimeThe product performs an operation on a resource at the wrong phase of the resource's lifecycle, which can lead to unexpected behaviors.
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-67Improper Handling of Windows Device NamesThe product constructs pathnames from user input, but it does not handle or incorrectly handles a pathname containing a Windows device name such as AUX or CON. This typically leads to denial of service or an information exposure when the application attempts to process the pathname as a regular file.
CWE-670Always-Incorrect Control Flow ImplementationThe code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated.
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-672Operation on a Resource after Expiration or ReleaseThe product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked.
CWE-673External Influence of Sphere DefinitionThe product does not prevent the definition of control spheres from external actors.
CWE-674Uncontrolled RecursionThe product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
CWE-675Multiple Operations on Resource in Single-Operation ContextThe product performs the same operation on a resource two or more times, when the operation should only be applied once.
CWE-676Use of Potentially Dangerous FunctionThe product invokes a potentially dangerous function that could introduce a vulnerability if it is used incorrectly, but the function can also be used safely.
CWE-681Incorrect Conversion between Numeric TypesWhen converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur.
CWE-682Incorrect CalculationThe product performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management.
CWE-683Function Call With Incorrect Order of ArgumentsThe product calls a function, procedure, or routine, but the caller specifies the arguments in an incorrect order, leading to resultant weaknesses.
CWE-684Incorrect Provision of Specified FunctionalityThe code does not function according to its published specifications, potentially leading to incorrect usage.
CWE-685Function Call With Incorrect Number of ArgumentsThe product calls a function, procedure, or routine, but the caller specifies too many arguments, or too few arguments, which may lead to undefined behavior and resultant weaknesses.
CWE-686Function Call With Incorrect Argument TypeThe product calls a function, procedure, or routine, but the caller specifies an argument that is the wrong data type, which may lead to resultant weaknesses.
CWE-687Function Call With Incorrectly Specified Argument ValueThe product calls a function, procedure, or routine, but the caller specifies an argument that contains the wrong value, which may lead to resultant weaknesses.
CWE-688Function Call With Incorrect Variable or Reference as ArgumentThe product calls a function, procedure, or routine, but the caller specifies the wrong variable or reference as one of the arguments, which may lead to undefined behavior and resultant weaknesses.
CWE-689Permission Race Condition During Resource CopyThe product, while copying or cloning a resource, does not set the resource's permissions or access control until the copy is complete, leaving the resource exposed to other spheres while the copy is taking place.
CWE-69Improper Handling of Windows ::DATA Alternate Data StreamThe product does not properly prevent access to, or detect usage of, alternate data streams (ADS).
CWE-690Unchecked Return Value to NULL Pointer DereferenceThe product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference.
CWE-691Insufficient Control Flow ManagementThe code does not sufficiently manage its control flow during execution, creating conditions in which the control flow can be modified in unexpected ways.
CWE-693Protection Mechanism FailureThe product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.
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-695Use of Low-Level FunctionalityThe product uses low-level functionality that is explicitly prohibited by the framework or specification under which the product is supposed to operate.
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-697Incorrect ComparisonThe product compares two entities in a security-relevant context, but the comparison is incorrect, which may lead to resultant weaknesses.
CWE-698Execution After Redirect (EAR)The web application sends a redirect to another location, but instead of exiting, it executes additional code.
CWE-7J2EE Misconfiguration: Missing Custom Error PageThe default error page of a web application should not display sensitive information about the product.
CWE-703Improper Check or Handling of Exceptional ConditionsThe product does not properly anticipate or handle exceptional conditions that rarely occur during normal operation of the product.
CWE-704Incorrect Type Conversion or CastThe product does not correctly convert an object, resource, or structure from one type to a different type.
CWE-705Incorrect Control Flow ScopingThe product does not properly return control flow to the proper location after it has completed a task or detected an unusual condition.
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-707Improper NeutralizationThe product does not ensure or incorrectly ensures that structured messages or data are well-formed and that certain security properties are met before being read from an upstream component or sent to a downstream component.
CWE-708Incorrect Ownership AssignmentThe product assigns an owner to a resource, but the owner is outside of the intended control sphere.
CWE-710Improper Adherence to Coding StandardsThe product does not follow certain coding rules for development, which can lead to resultant weaknesses or increase the severity of the associated vulnerabilities.
CWE-72Improper Handling of Apple HFS+ Alternate Data Stream PathThe product does not properly handle special paths that may identify the data or resource fork of a file on the HFS+ file system.
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-74Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
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-75Failure to Sanitize Special Elements into a Different Plane (Special Element Injection)The product does not adequately filter user-controlled input for special elements with control implications.
CWE-754Improper Check for Unusual or Exceptional ConditionsThe product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.
CWE-755Improper Handling of Exceptional ConditionsThe product does not handle or incorrectly handles an exceptional condition.
CWE-759Use of a One-Way Hash without a SaltThe product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product does not also use a salt as part of the input.
CWE-76Improper Neutralization of Equivalent Special ElementsThe product correctly neutralizes certain special elements, but it improperly neutralizes equivalent special elements.
CWE-760Use of a One-Way Hash with a Predictable SaltThe product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product uses a predictable salt as part of the input.
CWE-761Free of Pointer not at Start of BufferThe product calls free() on a pointer to a memory resource that was allocated on the heap, but the pointer is not at the start of the buffer.
CWE-762Mismatched Memory Management RoutinesThe product attempts to return a memory resource to the system, but it calls a release function that is not compatible with the function that was originally used to allocate that resource.
CWE-763Release of Invalid Pointer or ReferenceThe product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly.
CWE-764Multiple Locks of a Critical ResourceThe product locks a critical resource more times than intended, leading to an unexpected state in the system.
CWE-765Multiple Unlocks of a Critical ResourceThe product unlocks a critical resource more times than intended, leading to an unexpected state in the system.
CWE-766Critical Data Element Declared PublicThe product declares a critical variable, field, or member to be public when intended security policy requires it to be private.
CWE-767Access to Critical Private Variable via Public MethodThe product defines a public method that reads or modifies a private variable.
CWE-768Incorrect Short Circuit EvaluationThe product contains a conditional statement with multiple logical expressions in which one of the non-leading expressions may produce side effects. This may lead to an unexpected state in the program after the execution of the conditional, because short-circuiting logic may prevent the side effects from occurring.
CWE-77Improper Neutralization of Special Elements used in a Command ('Command Injection')The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
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-771Missing Reference to Active Allocated ResourceThe product does not properly maintain a reference to a resource that has been allocated, which prevents the resource from being reclaimed.
CWE-772Missing Release of Resource after Effective LifetimeThe product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.
CWE-773Missing Reference to Active File Descriptor or HandleThe product does not properly maintain references to a file descriptor or handle, which prevents that file descriptor/handle from being reclaimed.
CWE-774Allocation of File Descriptors or Handles Without Limits or ThrottlingThe product allocates file descriptors or handles on behalf of an actor without imposing any restrictions on how many descriptors can be allocated, in violation of the intended security policy for that actor.
CWE-775Missing Release of File Descriptor or Handle after Effective LifetimeThe product does not release a file descriptor or handle after its effective lifetime has ended, i.e., after the file descriptor/handle is no longer needed.
CWE-776Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')The product uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities.
CWE-777Regular Expression without AnchorsThe product uses a regular expression to perform neutralization, but the regular expression is not anchored and may allow malicious or malformed data to slip through.
CWE-78Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
CWE-780Use of RSA Algorithm without OAEPThe product uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP), which might weaken the encryption.
CWE-781Improper Address Validation in IOCTL with METHOD_NEITHER I/O Control CodeThe product defines an IOCTL that uses METHOD_NEITHER for I/O, but it does not validate or incorrectly validates the addresses that are provided.
CWE-782Exposed IOCTL with Insufficient Access ControlThe product implements an IOCTL with functionality that should be restricted, but it does not properly enforce access control for the IOCTL.
CWE-783Operator Precedence Logic ErrorThe product uses an expression in which operator precedence causes incorrect logic to be used.
CWE-784Reliance on Cookies without Validation and Integrity Checking in a Security DecisionThe product uses a protection mechanism that relies on the existence or values of a cookie, but it does not properly ensure that the cookie is valid for the associated user.
CWE-785Use of Path Manipulation Function without Maximum-sized BufferThe product invokes a function for normalizing paths or file names, but it provides an output buffer that is smaller than the maximum possible size, such as PATH_MAX.
CWE-787Out-of-bounds WriteThe product writes data past the end, or before the beginning, of the intended buffer.
CWE-789Memory Allocation with Excessive Size ValueThe product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.
CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CWE-790Improper Filtering of Special ElementsThe product receives data from an upstream component, but does not filter or incorrectly filters special elements before sending it to a downstream component.
CWE-791Incomplete Filtering of Special ElementsThe product receives data from an upstream component, but does not completely filter special elements before sending it to a downstream component.
CWE-792Incomplete Filtering of One or More Instances of Special ElementsThe product receives data from an upstream component, but does not completely filter one or more instances of special elements before sending it to a downstream component.
CWE-793Only Filtering One Instance of a Special ElementThe product receives data from an upstream component, but only filters a single instance of a special element before sending it to a downstream component.
CWE-794Incomplete Filtering of Multiple Instances of Special ElementsThe product receives data from an upstream component, but does not filter all instances of a special element before sending it to a downstream component.
CWE-795Only Filtering Special Elements at a Specified LocationThe product receives data from an upstream component, but only accounts for special elements at a specified location, thereby missing remaining special elements that may exist before sending it to a downstream component.
CWE-796Only Filtering Special Elements Relative to a MarkerThe product receives data from an upstream component, but only accounts for special elements positioned relative to a marker (e.g. "at the beginning/end of a string; the second argument"), thereby missing remaining special elements that may exist before sending it to a downstream component.
CWE-797Only Filtering Special Elements at an Absolute PositionThe product receives data from an upstream component, but only accounts for special elements at an absolute position (e.g. "byte number 10"), thereby missing remaining special elements that may exist before sending it to a downstream component.
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-8J2EE Misconfiguration: Entity Bean Declared RemoteWhen an application exposes a remote interface for an entity bean, it might also expose methods that get or set the bean's data. These methods could be leveraged to read sensitive information, or to change data in ways that violate the application's expectations, potentially leading to other vulnerabilities.
CWE-80Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as "<", ">", and "&" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages.
CWE-804Guessable CAPTCHAThe product uses a CAPTCHA challenge, but the challenge can be guessed or automatically recognized by a non-human actor.
CWE-805Buffer Access with Incorrect Length ValueThe product uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the bounds of the buffer.
CWE-806Buffer Access Using Size of Source BufferThe product uses the size of a source buffer when reading from or writing to a destination buffer, which may cause it to access memory that is outside of the bounds of the buffer.
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-81Improper Neutralization of Script in an Error Message Web PageThe product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters that could be interpreted as web-scripting elements when they are sent to an error page.
CWE-82Improper Neutralization of Script in Attributes of IMG Tags in a Web PageThe web application does not neutralize or incorrectly neutralizes scripting elements within attributes of HTML IMG tags, such as the src attribute.
CWE-827Improper Control of Document Type DefinitionThe product does not restrict a reference to a Document Type Definition (DTD) to the intended control sphere. This might allow attackers to reference arbitrary DTDs, possibly causing the product to expose files, consume excessive system resources, or execute arbitrary http requests on behalf of the attacker.
CWE-829Inclusion of Functionality from Untrusted Control SphereThe product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.
CWE-83Improper Neutralization of Script in Attributes in a Web PageThe product does not neutralize or incorrectly neutralizes "javascript:" or other URIs from dangerous attributes within tags, such as onmouseover, onload, onerror, or style.
CWE-830Inclusion of Web Functionality from an Untrusted SourceThe product includes web functionality (such as a web widget) from another domain, which causes it to operate within the domain of the product, potentially granting total access and control of the product to the untrusted source.
CWE-836Use of Password Hash Instead of Password for AuthenticationThe product records password hashes in a data store, receives a hash of a password from a client, and compares the supplied hash to the hash obtained from the data store.
CWE-84Improper Neutralization of Encoded URI Schemes in a Web PageThe web application improperly neutralizes user-controlled input for executable script disguised with URI encodings.
CWE-841Improper Enforcement of Behavioral WorkflowThe product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence.
CWE-842Placement of User into Incorrect GroupThe product or the administrator places a user into an incorrect group.
CWE-843Access of Resource Using Incompatible Type ('Type Confusion')The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.
CWE-85Doubled Character XSS ManipulationsThe web application does not filter user-controlled input for executable script disguised using doubling of the involved characters.
CWE-86Improper Neutralization of Invalid Characters in Identifiers in Web PagesThe product does not neutralize or incorrectly neutralizes invalid characters or byte sequences in the middle of tag names, URI schemes, and other identifiers.
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-87Improper Neutralization of Alternate XSS SyntaxThe product does not neutralize or incorrectly neutralizes user-controlled input for alternate script syntax.
CWE-88Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string.
CWE-89Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
CWE-9J2EE Misconfiguration: Weak Access Permissions for EJB MethodsIf elevated access rights are assigned to EJB methods, then an attacker can take advantage of the permissions to exploit the product.
CWE-90Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection')The product constructs all or part of an LDAP query using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when it is sent to a downstream component.
CWE-908Use of Uninitialized ResourceThe product uses or accesses a resource that has not been initialized.
CWE-909Missing Initialization of ResourceThe product does not initialize a critical resource.
CWE-91XML Injection (aka Blind XPath Injection)The product does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system.
CWE-910Use of Expired File DescriptorThe product uses or accesses a file descriptor after it has been closed.
CWE-911Improper Update of Reference CountThe product uses a reference count to manage a resource, but it does not update or incorrectly updates the reference count.
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-914Improper Control of Dynamically-Identified VariablesThe product does not properly restrict reading from or writing to dynamically-identified variables.
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-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-922Insecure Storage of Sensitive InformationThe product stores sensitive information without properly limiting read or write access by unauthorized actors.
CWE-93Improper Neutralization of CRLF Sequences ('CRLF Injection')The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
CWE-939Improper Authorization in Handler for Custom URL SchemeThe product uses a handler for a custom URL scheme, but it does not properly restrict which actors can invoke the handler using the scheme.
CWE-94Improper Control of Generation of Code ('Code Injection')The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
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-942Permissive Cross-domain Security Policy with Untrusted DomainsThe product uses a web-client protection mechanism such as a Content Security Policy (CSP) or cross-domain policy file, but the policy includes untrusted domains with which the web client is allowed to communicate.
CWE-943Improper Neutralization of Special Elements in Data Query LogicThe product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query.
CWE-95Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").
CWE-96Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before inserting the input into an executable resource, such as a library, configuration file, or template.
CWE-97Improper Neutralization of Server-Side Includes (SSI) Within a Web PageThe product generates a web page, but does not neutralize or incorrectly neutralizes user-controllable input that could be interpreted as a server-side include (SSI) directive.
CWE-98Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')The PHP application receives input from an upstream component, but it does not restrict or incorrectly restricts the input before its usage in "require," "include," or similar functions.
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.