Klocwork チェッカーにマッピングされる 2019 年版 CWE 最も危険なソフトウェアエラー上位 25

ランク CWE ID 説明 Klocwork 指摘コード
1 119 メモリバッファの範囲内の操作の不適切な制限 C/C++:

ABV.ANY_SIZE_ARRAY

ABV.GENERAL

ABV.ITERATOR

ABV.MEMBER

ABV.STACK

ABV.TAINTED

ABV.UNICODE.BOUND_MAP

ABV.UNICODE.FAILED_MAP

ABV.UNICODE.NNTS_MAP

ABV.UNICODE.SELF_MAP

ABV.UNKNOWN_SIZE

NNTS.MIGHT

NNTS.MUST

NNTS.TAINTED

RABV.CHECK

RN.INDEX

SV.FMT_STR.BAD_SCAN_FORMAT

SV.STRBO.BOUND_COPY.OVERFLOW

SV.STRBO.BOUND_COPY.UNTERM

SV.STRBO.BOUND_SPRINTF

SV.STRBO.UNBOUND_COPY

SV.STRBO.UNBOUND_SPRINTF

SV.UNBOUND_STRING_INPUT.CIN

SV.UNBOUND_STRING_INPUT.FUNC

C#:

CS.SV.TAINTED.INDEX_ACCESS

CS.SV.TAINTED.CALL.INDEX_ACCESS

2 79 Web ページ生成時の入力の不適切な中立化 ('クロスサイトスクリプティング')

C/C++:

SV.TAINTED.XSS.REFLECTED

C#:

CS.XSS.REFLECT

CS.XSS.PERSIST

Java:

SV.XSS.DB

SV.XSS.REF

3 20 不適切な入力検証 C/C++:

ABV.TAINTED

NNTS.TAINTED

SV.TAINTED.ALLOC_SIZE

SV.TAINTED.CALL.DEREF

SV.TAINTED.CALL.INDEX_ACCESS

SV.TAINTED.CALL.LOOP_BOUND

SV.TAINTED.DEREF

SV.TAINTED.FMTSTR

SV.TAINTED.INDEX_ACCESS

SV.TAINTED.LOOP_BOUND

SV.TAINTED.PATH_TRAVERSAL

SV.TAINTED.SECURITY_DECISION

SV.TAINTED.BINOP

SV.TAINTED.CALL.BINOP

SV.CODE_INJECTION.SHELL_EXEC

SV.TAINTED.INJECTION

C#:

CS.SQL.INJECT.LOCAL

CS.SV.TAINTED.ALLOC_SIZE

CS.SV.TAINTED.CALL.GLOBAL

CS.SV.TAINTED.CALL.INDEX_ACCESS

CS.SV.TAINTED.CALL.LOOP_BOUND

CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE

CS.SV.TAINTED.DESERIALIZATION

CS.SV.TAINTED.FMTSTR

CS.SV.TAINTED.GLOBAL

CS.SV.TAINTED.INDEX_ACCESS

CS.SV.TAINTED.INJECTION

CS.SV.TAINTED.LOOP_BOUND

CS.SV.TAINTED.PATH_TRAVERSAL

Java:

ANDROID.LIFECYCLE.SV.GETEXTRA

SV.DOS.ARRINDEX

SV.LOADLIB.INJ

SV.STRUTS.NOTVALID

SV.STRUTS.VALIDMET

SV.TAINT

SV.TAINT_NATIVE

4 200 情報の開示

C/C++:

SPECTRE.VARIANT1

C#:

CS.INFORMATION_EXPOSURE.ALL

CS.INFORMATION_EXPOSURE.ATTR

Java:

SV.IL.DEV

SV.IL.FILE

SV.SENSITIVE.DATA

SV.SENSITIVE.OBJ

5 125 範囲外の読み取り C/C++:

ABV.ANY_SIZE_ARRAY

ABV.GENERAL

ABV.ITERATOR

ABV.MEMBER

ABV.STACK

ABV.TAINTED

ABV.UNICODE.BOUND_MAP

ABV.UNICODE.FAILED_MAP

ABV.UNICODE.NNTS_MAP

ABV.UNICODE.SELF_MAP

ABV.UNKNOWN_SIZE

NNTS.MIGHT

NNTS.MUST

NNTS.TAINTED

RABV.CHECK

RN.INDEX

SV.FMT_STR.BAD_SCAN_FORMAT

SV.STRBO.BOUND_COPY.OVERFLOW

SV.STRBO.BOUND_COPY.UNTERM

SV.STRBO.BOUND_SPRINTF

SV.STRBO.UNBOUND_COPY

SV.STRBO.UNBOUND_SPRINTF

SV.UNBOUND_STRING_INPUT.CIN

SV.UNBOUND_STRING_INPUT.FUNC

C#:

CS.ABV.EXCEPT

6 89 SQL コマンドで使用される特殊要素の不適切な中立化 ('SQL インジェクション')

C/C++:

CXX.SQL.INJECT

C#:

CS.SQL.INJECT.LOCAL

Java:

SV.DATA.DB

SV.SQL

SV.SQL.DBSOURCE

7 416 解放後の使用 C/C++:

CL.FFM.ASSIGN

CL.FFM.COPY

CL.SELF-ASSIGN

CL.SHALLOW.ASSIGN

CL.SHALLOW.COPY

LOCRET.ARG

LOCRET.GLOB

LOCRET.RET

UFM.DEREF.MIGHT

UFM.DEREF.MUST

UFM.FFM.MIGHT

UFM.FFM.MUST

UFM.RETURN.MIGHT

UFM.RETURN.MUST

UFM.USE.MIGHT

UFM.USE.MUST

C#:

CS.LOCRET.ARG

CS.LOCRET.GLOB

CS.LOCRET.RET

CS.UFR

8 190 整数オーバーフローまたはラップアラウンド C/C++:

NUM.OVERFLOW

SV.TAINTED.BINOP

SV.TAINTED.CALL.BINOP

C#:

CS.SV.TAINTED.BINOP

CS.SV.TAINTED.CALL.BINOP

Java:

SV.INT_OVF

9 352 クロスサイトリクエストフォージェリ (CSRF)

C#:

CS.CSRF.VSUK.NOASSIGN

CS.CSRF.VSUK.CONSTASSIGN

CS.CSRF.ATTR.POST

CS.CSRF.ATTR.NOATTR

CS.CSRF.VALIDATE

Java:

SV.CSRF.GET

SV.CSRF.TOKEN

SV.CSRF.ORIGIN

10 22 制限されたディレクトリへのパス名の不適切な規制 ('パストラバーサル') C/C++:

SV.DLLPRELOAD.NONABSOLUTE.DLL

SV.DLLPRELOAD.NONABSOLUTE.EXE

SV.DLLPRELOAD.SEARCHPATH

SV.TAINTED.PATH_TRAVERSAL

C#:

CS.SV.TAINTED.PATH_TRAVERSAL

Java:

SV.PATH

SV.PATH.INJ

11 78 OS コマンド中で使用される特殊要素の不適切な中立化 ('OS コマンドインジェクション')。 C/C++:

SV.CODE_INJECTION.SHELL_EXEC

SV.TAINTED.INJECTION

C#:

CS.ABV.EXCEPT

CS.SV.TAINTED.INJECTION

Java:

SV.EXEC

SV.EXEC.DIR

SV.EXEC.ENV

SV.EXEC.LOCAL

12 787 範囲外の作成 C/C++:

ABV.ANY_SIZE_ARRAY

ABV.GENERAL

ABV.ITERATOR

ABV.MEMBER

ABV.STACK

ABV.TAINTED

ABV.UNICODE.BOUND_MAP

ABV.UNICODE.FAILED_MAP

ABV.UNICODE.NNTS_MAP

ABV.UNICODE.SELF_MAP

ABV.UNKNOWN_SIZE

NNTS.MIGHT

NNTS.MUST

NNTS.TAINTED

RABV.CHECK

RN.INDEX

SV.FMT_STR.BAD_SCAN_FORMAT

SV.STRBO.BOUND_COPY.OVERFLOW

SV.STRBO.BOUND_COPY.UNTERM

SV.STRBO.BOUND_SPRINTF

SV.STRBO.UNBOUND_COPY

SV.STRBO.UNBOUND_SPRINTF

SV.UNBOUND_STRING_INPUT.CIN

SV.UNBOUND_STRING_INPUT.FUNC

C#:

CS.ABV.EXCEPT

13 287 不適切な認証

C/C++

SV.WEAK_CRYPTO.WEAK_HASH

HCC

HCC.PWD

Java:

SV.LDAP.ANON

SV.AUTH.HASH.MIGHT

SV.AUTH.HASH.MUST

SV.AUTH.BYPASS.MIGHT

SV.AUTH.BYPASS.MUST

14 476 null ポインター逆参照 C/C++:

NPD.CHECK.CALL.MIGHT

NPD.CHECK.CALL.MUST

NPD.CHECK.MIGHT

NPD.CHECK.MUST

NPD.CONST.CALL

NPD.CONST.DEREF

NPD.FUNC.CALL.MIGHT

NPD.FUNC.CALL.MUST

NPD.FUNC.MIGHT

NPD.FUNC.MUST

NPD.GEN.CALL.MIGHT

NPD.GEN.CALL.MUST

NPD.GEN.MIGHT

NPD.GEN.MUST

RNPD.CALL

RNPD.DEREF

C#:

CS.NRE.CHECK.CALL.MIGHT

CS.NRE.CHECK.CALL.MUST

CS.NRE.CHECK.MIGHT

CS.NRE.CHECK.MUST

CS.NRE.CONST.CALL

CS.NRE.CONST.DEREF

CS.NRE.FUNC.CALL.MIGHT

CS.NRE.FUNC.CALL.MUST

CS.NRE.FUNC.MIGHT

CS.NRE.FUNC.MUST

CS.NRE.GEN.CALL.MIGHT

CS.NRE.GEN.CALL.MUST

CS.NRE.GEN.MIGHT

CS.NRE.GEN.MUST

CS.RNRE

Java:

ANDROID.NPE

NPE.COND

NPE.CONST

NPE.RET

NPE.RET.UTIL

NPE.STAT

REDUN.EQNULL

REDUN.NULL

RNU.THIS

15 732 重要なリソースへの不正確なパーミッション割り当て C/C++:

SV.USAGERULES.PERMISSIONS

C#:

CS.NPS

Java:

SV.PERMS.HOME

SV.PERMS.WIDE

SV.XSS.COOKIE

16 434 危険な型のファイルの無制限なアップロード

Java:

SV.DATA.FILE

17 611 XML 外部エンティティリファレンスの不適切な制限

C#:

CS.XXE.DOCUMENT

CS.XXE.TEXT_READER

CS.XXE.READER

Java:

18 94 コード生成の不適切な制御 ('コードインジェクション') C/C++:

SV.CODE_INJECTION.SHELL_EXEC

SV.TAINTED.INJECTION

C#:

CS.SQL.INJECT.LOCAL

CS.SV.TAINTED.FMTSTR

Java:

SV.SQL

SV.SQL.DBSOURCE

SV.DATA.DB

19 798 ハードコードされた資格情報の使用 C/C++:

HCC

HCC.USER

HCC.PWD

C#:

CS.HCC

CS.HCC.USER

CS.HCC.PWD

Java:

SV.PASSWD.HC

SV.PASSWD.HC.EMPTY

20 400 制御されていないリソース消費 C/C++:

CL.MLK

CL.MLK.ASSIGN

CL.MLK.VIRTUAL

MLK.MIGHT

MLK.MUST

MLK.RET.MIGHT

MLK.RET.MUST

SV.CODE_INJECTION.SHELL_EXEC

SV.TAINTED.INJECTION

C#:

CS.RESOURCE.LOOP

CS.SV.TAINTED.LOOP_BOUND.RESOURCE

CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE

CS.RESOURCE.AUTOBOXING

CS.RESOURCE.UNBOXING

Java:

JD.INF.ALLOC

SV.DOS.ARRSIZE

21 772 有効な生存期間後のリソースの解放の欠落 C/C++:

RH.LEAK

C#:

CS.RLK

Java:

RLK.AWT

RLK.FIELD

RLK.HIBERNATE

RLK.IMAGEIO

RLK.IN

RLK.JNDI

RLK.MAIL

RLK.MICRO

RLK.NIO

RLK.OUT

RLK.SOCK

RLK.SQLCON

RLK.SQLOBJ

RLK.SWT

RLK.ZIP

22 426 信頼できない検索パス C/C++:

SV.TAINTED.PATH_TRAVERSAL

C#:

CS.SV.TAINTED.PATH_TRAVERSAL

CS.SV.TAINTED.DLLPRELOAD

CS.UNSAFE.DLLPRELOAD

CS.UNSAFE.SEARCH_PATH

Java:

SV.EXEC.PATH

23 502 信頼できないデータのシリアル化解除

C#:

CS.SV.TAINTED.DESERIALIZATION

Java:

SV.SERIAL.NOFINAL

SV.SERIAL.NOREAD

SV.SERIAL.NOWRITE

SV.SERIAL.SIG

SV.SERIAL.OVERRIDE

24 269 不適切な権限管理 C/C++:

SV.USAGERULES.PERMISSIONS

C#:

CS.SV.USAGERULES.PERMISSIONS

Java:

SV.PRIVILEGE.MISSING

25 295 不適切な証明書検証

C#:

CS.X509.REVOCATION

CS.X509.VALIDATION

Java:

SV.ECV