1147
MemberOf Relationships
This MemberOf relationships table shows additional CWE Catgeories and Views that reference this
weakness as a member. This information is often useful in understanding where a weakness fits
within the context of external information sources.
Nature Type ID Name Page
MemberOf 884 CWE Cross-section 884 2567
MemberOf 962 SFP Secondary Cluster: Unchecked Status Condition 888 2400
MemberOf 1307 CISQ Quality Measures - Maintainability 1305 2484
MemberOf 1397 Comprehensive Categorization: Comparison 1400 2523
Taxonomy Mappings
Mapped Taxonomy Name Node ID Fit Mapped Node Name
CLASP Failure to account for default case in
switch
Software Fault Patterns SFP4 Unchecked Status Condition
References
[REF-18]Secure Software, Inc.. "The CLASP Application Security Process". 2005. < https://
cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf >.
[REF-62]Mark Dowd, John McDonald and Justin Schuh. "The Art of Software Security
Assessment". 1st Edition. 2006. Addison Wesley.
CWE-479: Signal Handler Use of a Non-reentrant Function
Weakness ID : 479
Structure : Simple
Abstraction : Variant
Description
The product defines a signal handler that calls a non-reentrant function.
Extended Description
Non-reentrant functions are functions that cannot safely be called, interrupted, and then recalled
before the first call has finished without resulting in memory corruption. This can lead to an
unexpected system state and unpredictable results with a variety of potential consequences
depending on context, including denial of service and code execution.
Many functions are not reentrant, but some of them can result in the corruption of memory if they
are used in a signal handler. The function call syslog() is an example of this. In order to perform its
functionality, it allocates a small amount of memory as "scratch space." If syslog() is suspended
by a signal call and the signal handler calls syslog(), the memory used by both of these functions
enters an undefined, and possibly, exploitable state. Implementations of malloc() and free()
manage metadata in global structures in order to track which memory is allocated versus which
memory is available, but they are non-reentrant. Simultaneous calls to these functions can cause
corruption of the metadata.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
CWE Version 4.14
CWE-479: Signal Handler Use of a Non-reentrant Function
CWE-479: Signal Handler Use of a Non-reentrant Function