CWE-676 詳細

CWE-676

Use of Potentially Dangerous Function
2008-04-11
00h00 +00:00
高
Draft
2026-10-28
00h00 +00:00
特定のCWEの通知
特定のCWEの変更情報をいち早くお届けします。
通知を管理する

名前: Use of Potentially Dangerous Function

The product invokes a potentially dangerous function that could introduce a vulnerability if it is used incorrectly, but the function can also be used safely.

一般情報

導入モード

Implementation

適用可能なプラットフォーム

言語

名前: C (Undetermined)
名前: C++ (Undetermined)

一般的な結果

スコープ 影響 可能性
OtherVaries by Context, Quality Degradation, Unexpected State

注記:If the function is used incorrectly, then it could result in security problems.

観察された例

参考文献 説明

CVE-2007-1470

Library has multiple buffer overflows using sprintf() and strcpy()

CVE-2009-3849

Buffer overflow using strcat()

CVE-2006-2114

Buffer overflow using strcpy()

CVE-2006-0963

Buffer overflow using strcpy()

CVE-2011-0712

Vulnerable use of strcpy() changed to use safer strlcpy()

CVE-2008-5005

Buffer overflow using strcpy()

潜在的な緩和策

Phases : Build and Compilation // Implementation
Identify a list of prohibited API functions and prohibit developers from using these functions, providing safer alternatives. In some cases, automatic code analysis tools or the compiler can be instructed to spot use of prohibited functions, such as the "banned.h" include file from Microsoft's SDL. [REF-554] [REF-1009] [REF-7]

検出方法

Automated Static Analysis - Binary or Bytecode

有効性 : High

Manual Static Analysis - Binary or Bytecode

有効性 : SOAR Partial

Dynamic Analysis with Manual Results Interpretation

有効性 : High

Manual Static Analysis - Source Code

有効性 : High

Automated Static Analysis - Source Code

有効性 : High

Automated Static Analysis

有効性 : SOAR Partial

Architecture or Design Review

有効性 : High

脆弱性マッピングノート

理由 : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
コメント : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.

ノート

This weakness is different than CWE-242 (Use of Inherently Dangerous Function). CWE-242 covers functions with such significant security problems that they can never be guaranteed to be safe. Some functions, if used properly, do not directly pose a security risk, but can introduce a weakness if not called correctly. These are regarded as potentially dangerous. A well-known example is the strcpy() function. When provided with a destination buffer that is larger than its source, strcpy() will not overflow. However, it is so often misused that some developers prohibit strcpy() entirely.

参考文献

REF-6

Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors
Katrina Tsipenyuk, Brian Chess, Gary McGraw.
https://cwe.mitre.org/documents/sources/SevenPerniciousKingdoms.pdf

REF-554

Security Development Lifecycle (SDL) Banned Function Calls
Michael Howard.
https://learn.microsoft.com/en-us/previous-versions/bb288454(v=msdn.10)?redirectedfrom=MSDN

REF-1009

Microsoft's Free Security Tools - banned.h
Tim Rains.
https://www.microsoft.com/en-us/security/blog/2012/08/30/microsofts-free-security-tools-banned-h/

REF-7

Writing Secure Code
Michael Howard, David LeBlanc.
https://www.microsoftpressstore.com/store/writing-secure-code-9780735617223

REF-62

The Art of Software Security Assessment
Mark Dowd, John McDonald, Justin Schuh.

REF-1479

State-of-the-Art Resources (SOAR) for Software Vulnerability Detection, Test, and Evaluation
Gregory Larsen, E. Kenneth Hong Fong, David A. Wheeler, Rama S. Moorthy.
https://www.ida.org/-/media/feature/publications/s/st/stateoftheart-resources-soar-for-software-vulnerability-detection-test-and-evaluation/p-5061.ashx

登録情報

名前 組織 日付 リリース日 Version
7 Pernicious Kingdoms 2008-04-11 +00:00 2008-04-11 +00:00 Draft 9

変更履歴

名前 組織 日付 コメント
Sean Eidemiller Cigital 2008-07-01 +00:00 added/updated demonstrative examples
Eric Dalci Cigital 2008-07-01 +00:00 updated Potential_Mitigations, Time_of_Introduction
CWE Content Team MITRE 2008-09-08 +00:00 updated Applicable_Platforms, Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities
CWE Content Team MITRE 2008-11-24 +00:00 updated Relationships, Taxonomy_Mappings
CWE Content Team MITRE 2009-07-27 +00:00 updated Relationships
CWE Content Team MITRE 2010-02-16 +00:00 updated Demonstrative_Examples, Other_Notes, References, Relationship_Notes
CWE Content Team MITRE 2011-06-01 +00:00 updated Common_Consequences
CWE Content Team MITRE 2011-06-27 +00:00 updated Common_Consequences, Observed_Examples, Potential_Mitigations, References, Relationships
CWE Content Team MITRE 2011-09-13 +00:00 updated Potential_Mitigations, Relationships, Taxonomy_Mappings
CWE Content Team MITRE 2012-05-11 +00:00 updated References, Related_Attack_Patterns, Relationships, Weakness_Ordinalities
CWE Content Team MITRE 2014-07-30 +00:00 updated Detection_Factors, Relationships, Taxonomy_Mappings
CWE Content Team MITRE 2017-05-03 +00:00 updated Related_Attack_Patterns
CWE Content Team MITRE 2017-11-08 +00:00 updated Causal_Nature, References, Relationships, Taxonomy_Mappings
CWE Content Team MITRE 2018-03-27 +00:00 updated References
CWE Content Team MITRE 2019-01-03 +00:00 updated Relationships, Weakness_Ordinalities
CWE Content Team MITRE 2020-02-24 +00:00 updated Detection_Factors, References, Relationships
CWE Content Team MITRE 2020-12-10 +00:00 updated Demonstrative_Examples
CWE Content Team MITRE 2021-03-15 +00:00 updated Demonstrative_Examples
CWE Content Team MITRE 2023-01-31 +00:00 updated Description
CWE Content Team MITRE 2023-04-27 +00:00 updated References, Relationships, Time_of_Introduction
CWE Content Team MITRE 2023-06-29 +00:00 updated Mapping_Notes
CWE Content Team MITRE 2025-09-09 +00:00 updated Detection_Factors, References
CWE Content Team MITRE 2025-12-11 +00:00 updated Relationships
CWE Content Team MITRE 2026-04-30 +00:00 updated Potential_Mitigations, References
CWE Content Team MITRE 2026-10-28 +00:00 updated Diagram, References