Стандартные и полипространственные результаты кодирования CWE

Common Weakness Enumeration (CWE™) - это словарь распространенных типов слабостей программного обеспечения, которые могут происходить в программной архитектуре, проекте, коде или реализации. Эти недостатки могут привести к уязвимостям безопасности.

CWE и Polyspace Bug Finder

Словарь CWE присваивает уникальный идентификатор каждому типу слабости программного обеспечения. Эти идентификаторы служат общим языком для описания недостатков безопасности программного обеспечения и стандартом для инструментов безопасности программного обеспечения, нацеленных на эти недостатки. Для получения дополнительной информации см. «Общий перечисление слабостей».

Polyspace® Результаты Bug Finder™ могут быть сопоставлены с идентификаторами CWE. Используя Bug Finder, можно проверить и документировать, есть ли у вашего программного обеспечения недостатки, перечисленные в словаре CWE. Bug Finder поддерживает следующие аспекты Программы совместимости и эффективности CWE:

  • CWE Searchable: Для каждого поддерживаемого идентификатора CWE в коде можно увидеть все образцы, которые имеют недостатки, соответствующие идентификатору.

  • Выход CWE: Для каждого дефекта Polyspace Bug Finder:

    • Можно просмотреть связанный идентификатор CWE.

    • Вы можете сообщить связанный идентификатор CWE.

Результаты Bug Finder сопоставляются с идентификаторами CWE (идентификаторами). Используя результаты Bug Finder, можно оценить код по стандарту CWE. Например, CWE ID 119 (Неподходящее ограничение операций в границах буфера памяти) сопоставляется с дефектами, Array access out of bounds и Pointer access out of bounds Bug Finder.

Для получения дополнительной информации о Программе совместимости и эффективности CWE, смотрите Совместимость CWE.

Поиск идентификаторов CWE из результатов Polyspace

Используйте следующий рабочий процесс, если вы хотите фокусировать свой анализ Bug Finder на стандарте CWE.

  • Анализ: Проверьте свой код только на те дефекты Bug Finder, которые соответствуют стандарту. Используйте опцию Find defects (-checkers) со значением CWE.

  • Результаты: Если вы активируете только дефектные шашки, соответствующие стандарту CWE, вы видите только дефекты, которые соответствуют стандарту. Исправьте или разъясните каждый дефект.

    Вместе с дефектами можно увидеть идентификаторы CWE, сопоставленные с каждым дефектом в столбце CWE ID на панели Results List. Если столбец не включен по умолчанию, щелкните правой кнопкой мыши любой заголовок столбца и выберите CWE ID.

  • Отчет: Когда вы генерируете отчет, выберите SecurityCWE шаблон, адаптированный для стандарта CWE. В отчете показаны идентификаторы CWE, соответствующие каждому результату.

Отображение между идентификаторами CWE и результатами Polyspace

В следующей таблице перечислены идентификаторы CWE (версия 3.3), адресованные Polyspace Bug Finder с соответствующими дефектными шашками. Используя дефектные шашки Polyspace Bug Finder, можно проверить наличие 133 идентификаторов CWE.

Существует три типа идентификаторов CWE: Class, основа и вариант. Идентификаторы типа Class задают слабые стороны безопасности на абстрактном уровне, независимом от определенного языка или технологии, в то время как идентификаторы типа Base и Variant являются более конкретными. С другой стороны, результаты Polyspace Bug Finder разработаны таким образом, чтобы пользователи могли иметь точный диагноз дефекта в коде и быстро понимать дефект. Поэтому:

  • Результаты Bug Finder сопоставляются с определенными идентификаторами Основы и Варианта типов, а не с общими идентификаторами Класса типов.

    Только когда результат покрывает больше заземления, чем определенный идентификатор CWE, результат сопоставляется с его более общим родительским типом. Например, Array access out of bounds проверки дефектов покрывает многие виды переполнения буфера, в то время как CWE-788 ссылается только на «Доступ к местоположению памяти после окончания буфера». Поэтому проверка дефекта сопоставлена с его родительским элементом CWE-119, который ссылается на «Неподходящее ограничение операций в границах буфера памяти». Однако, чтобы сохранить отображение точным, делается попытка сопоставить с конкретными идентификаторами CWE.

  • Часто, более одного результата Bug Finder сопоставляется с определенным идентификатором CWE.

    Например, CWE-908 ссылается на «Использование неинициализированного ресурса». Чтобы выделить конкретные виды неинициализированных ресурсов, Bug Finder имеет три различных шашки: Member not initialized in constructor, Non-initialized pointer и Non-initialized variable.

Для отображения с подмножествами CWE-658 и CWE-659 смотрите Отображение между CWE-658 или 659 и Результаты Polyspace.

ИДЕНТИФИКАТОР CWEОписание идентификатора CWEPolyspace Bug Finder Defect Checker
15Внешнее управление системой или настройкой строения

Host change using externally controlled elements

Use of externally controlled environment variable

20Неподходящая проверка входных валидаций

Unsafe conversion from string to numerical value

22Неправильное ограничение имени пути ограниченной директории ('Path Traversal')

Vulnerable path manipulation

23Относительный ход пути

Vulnerable path manipulation

36Абсолютный ход пути

Vulnerable path manipulation

67Неправильная обработка имен устройств Windows

Inappropriate I/O operation on device files

77Неправильная нейтрализация специальных элементов, используемых в команде

Execution of externally controlled command

Unsafe call to a system function

78Неправильная нейтрализация специальных элементов, используемых в команде OS

Execution of externally controlled command

Unsafe call to a system function

88Инъекция или изменение аргумента

Execution of externally controlled command

Unsafe call to a system function

114Управление процессами

Command executed from externally controlled path

Execution of a binary from a relative path can be controlled by an external actor

Execution of externally controlled command

Library loaded from externally controlled path

Load of library from a relative path can be controlled by an external actor

119Неподходящее ограничение операций в границах буфера памяти

Array access out of bounds

Pointer access out of bounds

120Буферная копия без проверки размера входа ('Classic buffer overflow')

Invalid use of standard library memory routine

Invalid use of standard library string routine

Tainted NULL or non-null-terminated string

121Переполнение буфера на основе стека

Array access with tainted index

Destination buffer overflow in string manipulation

122Переполнение буфера на основе кучи

Pointer dereference with tainted offset

124Подземная запись буфера ('Buffer underflow')

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer underflow in string manipulation

Pointer dereference with tainted offset

125Считайте вне границ

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer overflow in string manipulation

126Перечитать буфер

Buffer overflow from incorrect string format specifier

127Перечитать буфер

Buffer overflow from incorrect string format specifier

128Ошибка переноса

Integer constant overflow

Integer conversion overflow

Integer overflow

Memory allocation with tainted size

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

129Неправильная валидация индекса массива

Array access with tainted index

Pointer dereference with tainted offset

130Неправильная обработка несогласованности параметра длины

Mismatch between data length and size

131Неправильное вычисление buffer size

Array access out of bounds

Memory allocation with tainted size

Pointer access out of bounds

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer conversion overflow

Unsigned integer overflow

134Строка неконтролируемого формата

Tainted string format

135Неправильное вычисление длины многобайтовой строки

Destination buffer overflow in string manipulation

Misuse of narrow or wide character string

Unreliable cast of pointer

170Неправильное завершение по умолчанию

Missing null in string array

Misuse of readlink()

Tainted NULL or non-null-terminated string

188Опора на размещение данных/памяти

Invalid assumptions about memory organization

Memory comparison of padding data

Memory comparison of strings

Missing byte reordering when transferring data

Pointer access out of bounds

189Числовые ошибки

Absorption of float operand

Float conversion overflow

Float division by zero

Float overflow

Integer constant overflow

Integer conversion overflow

Integer division by zero

Integer overflow

Precision loss in integer to float conversion

Shift of a negative value

Shift operation overflow

Tainted division operand

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

190Целочисленное переполнение или обтекание

Integer conversion overflow

Integer constant overflow

Integer overflow

Integer precision exceeded

Possible invalid operation on boolean operand

Shift operation overflow

Tainted division operand

Unsigned integer conversion overflow

Unsigned integer overflow

Unsigned integer constant overflow

191Целочисленное нижнее течение (Wrap или wraparound)

Integer constant overflow

Integer conversion overflow

Integer overflow

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

192Целочисленная ошибка принуждения

Integer conversion overflow

Integer overflow

Sign change integer conversion overflow

Tainted sign change conversion

Unsigned integer conversion overflow

Unsigned integer overflow

194Неожиданное расширение знака

Sign change integer conversion overflow

Tainted sign change conversion

195Ошибка преобразования подписи в неподписанную

Sign change integer conversion overflow

Tainted sign change conversion

196Ошибка преобразования без подписи в подпись

Sign change integer conversion overflow

197Числовая ошибка усечения

Float conversion overflow

Integer conversion overflow

Unsigned integer conversion overflow

198 

Missing byte reordering when transferring data

226Конфиденциальная информация, неубранная перед релизом

Uncleared sensitive data in stack

227Ненадлежащее выполнение контракта API

Invalid use of standard library floating point routine

Invalid use of standard library integer routine

Invalid use of standard library memory routine

Invalid use of standard library routine

Invalid use of standard library string routine

Writing to const qualified object

240Неправильная обработка несогласованных элементов конструкции

Mismatch between data length and size

242Использование неотъемлемо опасной функции

Use of dangerous standard function

243Создание тюрьмы chroot без изменения рабочей директории

File manipulation after chroot without chdir

244Неправильная очистка памяти кучки перед релизом

Sensitive heap memory not cleared before release

250Выполнение с ненужными привилегиями

Bad order of dropping privileges

Privilege drop not verified

251Часто не используется: управление строками

Destination buffer overflow in string manipulation

252Неконтролируемое значение возврата

Returned value of a sensitive function not checked

253Неправильная проверка возвращаемого значения функции

Errno not checked

Errno not reset

Returned value of a sensitive function not checked

Unprotected dynamic memory allocation

Unsafe conversion from string to numerical value

273Неподходящая проверка на сброшенные привилегии

Privilege drop not verified

287Неправильная аутентификация

X.509 peer certificate not checked

297Неправильная валидация сертификата с несоответствием хоста

Server certificate common name not checked

304Отсутствующий критический шаг в аутентификации

TLS/SSL connection method not set

310Криптографические проблемы

Constant block cipher initialization vector

Constant cipher key

Context initialized incorrectly for cryptographic operation

Context initialized incorrectly for digest operation

Incompatible padding for RSA algorithm operation

Incorrect key for cryptographic algorithm

Missing blinding for RSA algorithm

Missing block cipher initialization vector

Missing certification authority list

Missing cipher algorithm

Missing cipher key

Missing data for encryption, decryption or signing operation

Missing padding for RSA algorithm

Missing parameters for key generation

Missing peer key

Missing private key

Missing public key

Missing X.509 certificate

Nonsecure hash algorithm

Nonsecure parameters for key generation

Nonsecure RSA public exponent

Nonsecure SSL/TLS protocol

Predictable block cipher initialization vector

Predictable cipher key

Weak cipher algorithm

Weak cipher mode

Weak padding for RSA algorithm

311Отсутствует шифрование конфиденциальных данных

Missing cipher data to process

Missing cipher final step

312Хранение конфиденциальной информации в чистом виде

Sensitive heap memory not cleared before release

Uncleared sensitive data in stack

316Хранение конфиденциальной информации в памяти в формате Cleartext

Sensitive heap memory not cleared before release

Uncleared sensitive data in stack

320Ключевые ошибки управления

Constant cipher key

Missing cipher key

Missing peer key

Missing private key

Missing public key

321Использование жестко закодированного криптографического ключа

Constant cipher key

322Обмен ключами без аутентификации сущности

TLS/SSL connection method not set

325Отсутствует необходимый криптографический шаг

Context initialized incorrectly for cryptographic operation

Incorrect key for cryptographic algorithm

Missing block cipher initialization vector

Missing cipher data to process

Missing cipher final step

Missing cipher algorithm

Missing cipher key

Missing data for encryption, decryption or signing operation

Missing parameters for key generation

No data added into context

Weak cipher algorithm

Weak cipher mode

326Недостаточная прочность шифрования

Constant block cipher initialization vector

Constant cipher key

Missing blinding for RSA algorithm

Missing block cipher initialization vector

Missing padding for RSA algorithm

Nonsecure parameters for key generation

Nonsecure RSA public exponent

Predictable cipher key

Weak cipher algorithm

Weak cipher mode

Weak padding for RSA algorithm

327Использование сломанного или рискованного криптографического алгоритма

Missing padding for RSA algorithm

Nonsecure hash algorithm

Nonsecure parameters for key generation

Nonsecure RSA public exponent

Nonsecure SSL/TLS protocol

Unsafe standard encryption function

Weak cipher algorithm

Weak cipher mode

Weak padding for RSA algorithm

328Обратимый односторонний хеш

Nonsecure hash algorithm

329Не используйте случайный IV с режимом CBC

Constant block cipher initialization vector

Missing block cipher initialization vector

Predictable block cipher initialization vector

330Использование недостаточно случайных значений

Deterministic random output from constant seed

Predictable block cipher initialization vector

Predictable cipher key

Predictable random output from predictable seed

Vulnerable pseudo-random number generator

336Тот же seed в PRNG

Deterministic random output from constant seed

337Предсказуемый seed в PRNG

Predictable random output from predictable seed

338Использование криптографически слабого генератора псевдослучайных чисел (PRNG)

Predictable block cipher initialization vector

Predictable cipher key

Vulnerable pseudo-random number generator

353Отсутствующая поддержка проверки целостности

Context initialized incorrectly for digest operation

Nonsecure hash algorithm

354Неправильная валидация значения проверки целостности

Context initialized incorrectly for digest operation

362Параллельное выполнение с использованием общего ресурса с неподходящей синхронизацией ('Race Condition')

File descriptor exposure to child process

Opening previously opened resource

364Условие гонки обработчика сигналов

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

Shared data access within signal handler

366Условие гонки в потоке

Data race including atomic operations

Data race through standard library function call

Data race

367Условие гонки во время проверки использования (TOCTOU)

File access between time of check and use (TOCTOU)

369Разделите на нули

Float division by zero

Integer division by zero

Invalid use of standard library floating point routine

Invalid use of standard library integer routine

Tainted division operand

Tainted modulo operand

372Неполное внутреннее различие состояний

Context initialized incorrectly for cryptographic operation

Context initialized incorrectly for digest operation

Incompatible padding for RSA algorithm operation

Inconsistent cipher operations

Missing cipher data to process

Missing cipher final step

Missing data for encryption, decryption or signing operation

Missing parameters for key generation

375Возврат изменяемого объекта ненадежному вызывающему абоненту

Return of non const handle to encapsulated data member

377Небезопасный временный файл

Use of non-secure temporary file

387Ошибки сигнала

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

Return from computational exception signal handler

Signal call from within signal handler

391Выключенное условие ошибки

Errno not checked

398Показатель низкого качества кода

Write without a further read

401Неподходящий релиз памяти перед удалением последней ссылки

Memory leak

Thread-specific memory leak

404Неправильное завершение работы или релиз ресурса

Invalid deletion of pointer

Invalid free of pointer

Memory leak

Mismatched alloc/dealloc functions on Windows

Thread-specific memory leak

413Неподходящая блокировка ресурса

Data race

Data race including atomic operations

Data race through standard library function call

Function called from signal handler not asynchronous-safe

Function called from signal handler not asynchronous-safe (strict)

Opening previously opened resource

Shared data access within signal handler

415Double free

Deallocation of previously deallocated pointer

Missing reset of a freed pointer

416Использование после бесплатного

Missing reset of a freed pointer

Use of previously freed pointer

426Ненадежный путь поиска файлов

Command executed from externally controlled path

Library loaded from externally controlled path

427Неконтролируемый элемент пути поиска файлов

Execution of a binary from a relative path can be controlled by an external actor

Library loaded from externally controlled path

Load of library from a relative path can be controlled by an external actor

Use of externally controlled environment variable

456Отсутствует инициализация переменной

Errno not reset

Member not initialized in constructor

Non-initialized pointer

Non-initialized variable

457Использование неинициализированной переменной

Member not initialized in constructor

Non-initialized pointer

Non-initialized variable

465

Проблемы с указателем

Unsafe conversion between pointer and integer

466Возврат значения указателя за пределы ожидаемой области значений

Array access out of bounds

Pointer access out of bounds

Unsafe conversion between pointer and integer

467Использование sizeof () для типа указателя

Possible misuse of sizeof

Wrong type used in sizeof

468Неправильное масштабирование указателя

Incorrect pointer scaling

469Использование вычитания указателя для определения размера

Subtraction or comparison between pointers to different arrays

471Изменение предполагаемых неизменяемых данных

Writing to const qualified object

474Использование функции с несогласованными реализациями

Signal call from within signal handler

Use of obsolete standard function

475Неопределенное поведение для входа в API

Copy of overlapping memory

476Удаление указателя NULL

Null pointer

Tainted NULL or non-null-terminated string

477Использование устаревших функций

Use of obsolete standard function

478Отсутствует случай по умолчанию в операторе switch

Missing case for switch condition

479Использование обработчиком сигналов функции, не входящей в систему

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

480Использование неправильного оператора

Invalid use of = (assignment) operator

Invalid use of == (equality) operator

481Назначение вместо сравнения

Invalid use of = (assignment) operator

482Сравнение вместо назначения

Invalid use of == (equality) operator

483Неправильное разделение блоков

Incorrectly indented statement

Semicolon on same line as if, for or while statement

484Опущенный оператор пропуск в switch

Missing break of switch case

522Недостаточно защищенные учетные данные

Constant cipher key

Nonsecure hash algorithm

Nonsecure parameters for key generation

Nonsecure RSA public exponent

Nonsecure SSL/TLS protocol

Unsafe standard encryption function

532Воздействие информации через файлы журнала

Sensitive data printed out

534Воздействие информации через файлы журнала отладки

Sensitive data printed out

535Информационное воздействие через сообщение об ошибке интерпретатора

Sensitive data printed out

547Использование жестко закодированных, релевантных для безопасности констант

Hard coded buffer size

Hard coded loop boundary

558Использование гетлогина () в многопоточном приложении

Unsafe standard function

560Использование umask () с аргументом в стиле chmod

Umask used with chmod-style arguments

561Мертвый код

Dead code

Static uncalled function

Unreachable code

562Возврат адреса переменной стека

Pointer or reference to stack variable leaving scope

Use of automatic variable as putenv-family function argument

573Неправильное следование спецификации вызывающим абонентом

Context initialized incorrectly for cryptographic operation

Context initialized incorrectly for digest operation

Incompatible padding for RSA algorithm operation

Incorrect key for cryptographic algorithm

Missing blinding for RSA algorithm

Missing cipher data to process

Missing cipher final step

Missing cipher algorithm

Missing cipher key

Missing data for encryption, decryption or signing operation

Missing final step after hashing update operation

Missing hash algorithm

Missing parameters for key generation

Missing peer key

Missing private key for X.509 certificate

Missing private key

Missing public key

Modification of internal buffer returned from nonreentrant standard function

TLS/SSL connection method not set

TLS/SSL connection method set incorrectly

587Назначение фиксированного адреса указателю

Function pointer assigned with absolute address

Unsafe conversion between pointer and integer

590Без памяти не на куче

Invalid free of pointer

606Выключенный вход для условия цикла

Loop bounded with tainted value

628Вызов функции с неправильно заданными аргументами

Bad file access mode or status

Copy of overlapping memory

Invalid va_list argument

Modification of internal buffer returned from nonreentrant standard function

Standard function call with incorrect arguments

658Смотрите Отображение между CWE-658 или 659 и Результаты Polyspace.
659Смотрите Отображение между CWE-658 или 659 и Результаты Polyspace.
663Использование не входящей функции в параллельном контексте

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

Unsafe standard encryption function

Unsafe standard function

664Неподходящее управление ресурсом в течение его жизни

Context initialized incorrectly for cryptographic operation

Context initialized incorrectly for digest operation

Incompatible padding for RSA algorithm operation

Inconsistent cipher operations

Incorrect key for cryptographic algorithm

Missing cipher data to process

Missing cipher final step

Missing cipher key

Missing peer key

Missing private key

Missing public key

665Неправильная инициализация

Call to memset with unintended value

Improper array initialization

Overlapping assignment

Use of memset with size argument zero

666Операция на ресурсе в неправильной фазе срока службы

Incorrect order of network connection operations

667Неправильная блокировка

Blocking operation while holding lock

Destruction of locked mutex

Missing unlock

672Операция на ресурсе после истечения срока действия или релиза

Closing a previously closed resource

Use of previously closed resource

675Повторяющиеся операции на ресурсе

Opening previously opened resource

676Использование потенциально опасной функции

Unsafe conversion from string to numerical value

Use of dangerous standard function

681Неправильное преобразование между числовыми типами

Float conversion overflow

Precision loss in integer to float conversion

682Неправильное вычисление

Absorption of float operand

Bitwise operation on negative value

Float overflow

Invalid use of standard library floating point routine

Invalid use of standard library integer routine

Tainted modulo operand

Use of plain char type for numerical value

683Вызов функции с неправильным порядком аргументов

Call to memset with unintended value

Format string specifiers and arguments mismatch

685Вызов функции с неправильным количеством аргументов

Declaration mismatch

Format string specifiers and arguments mismatch

Standard function call with incorrect arguments

Too many va_arg calls for current argument list

686Вызов функции с неправильным типом аргумента

Bad file access mode or status

Declaration mismatch

Format string specifiers and arguments mismatch

Incorrect data type passed to va_arg

Standard function call with incorrect arguments

Use of automatic variable as putenv-family function argument

Writing to const qualified object

687 Вызов функции с неправильно заданным значением аргумента

Copy of overlapping memory

Standard function call with incorrect arguments

Variable length array with nonpositive size

690Снятое значение возврата к нулевому разыменованию указателя

Invalid use of standard library memory routine

Invalid use of standard library routine

Invalid use of standard library string routine

Null pointer

Returned value of a sensitive function not checked

Standard function call with incorrect arguments

Tainted NULL or non-null-terminated string

Unprotected dynamic memory allocation

691Недостаточное управление потоком управления

Use of setjmp/longjmp

693Отказ механизма защиты

Nonsecure SSL/TLS protocol

696Неправильный порядок поведения

Bad order of dropping privileges

703Неправильная проверка или обработка исключительных условий

Errno not reset

Misuse of errno

704Неправильное преобразование или приведение типов

Character value absorbed into EOF

Misuse of sign-extended character value

Precision loss in integer to float conversion

Qualifier removed in conversion

Unreliable cast of pointer

Wrong allocated object size for cast

705Неправильное определение потока управления

Abnormal termination of exit handler

710Нарушение стандарта кодирования

Bitwise and arithmetic operation on the same data

732Неправильное назначение разрешений для критического ресурса

Vulnerable permission assignments

754Неподходящая проверка на необычные или исключительные условия

Returned value of a sensitive function not checked

755Неправильное обращение с исключительными условиями

Exception handler hidden by previous handler

758Зависимость от неопределенного, неопределенного или определяемого реализацией поведения

Bitwise operation on negative value

Unsafe conversion between pointer and integer

Use of plain char type for numerical value

759Использование одностороннего хэша без соли

Missing salt for hashing operation

762Несовпадающие стандартные программы управления памятью

Invalid free of pointer

Mismatched alloc/dealloc functions on Windows

764Несколько блокировок критического ресурса

Double lock

765Несколько разблокировок критического ресурса

Double unlock

767Доступ к критической частной переменной через общедоступный метод

Return of non const handle to encapsulated data member

770Распределение ресурсов без пределов или регулирования

Tainted size of variable length array

772Отсутствующий релиз ресурса после эффективного срока службы

Resource leak

780Использование алгоритма rsa без oaep

Missing padding for RSA algorithm

Weak padding for RSA algorithm

783Логическая ошибка приоритета оператора

Possibly unintended evaluation of expression because of operator precedence rules

785Использование функции манипуляции путями без буфера максимального размера

Use of path manipulation function without maximum sized buffer checking

786Доступ к местоположению памяти перед запуском буфера

Destination buffer underflow in string manipulation

787Внеплановая запись

Destination buffer overflow in string manipulation

Destination buffer underflow in string manipulation

789Неконтролируемое выделение памяти

Memory allocation with tainted size

Tainted size of variable length array

Unprotected dynamic memory allocation

805Доступ к буферу с неправильным значением длины

Hard-coded object size used to manipulate memory

822Ненадежное разыменование указателя

Tainted NULL or non-null-terminated string

823Использование смещения указателя вне области допустимого значения

Pointer access out of bounds

Pointer dereference with tainted offset

824Доступ к неинициализированному указателю

Non-initialized pointer

825Просроченное дереферентство указателя

Accessing object with temporary lifetime

Deallocation of previously deallocated pointer

Environment pointer invalidated by previous operation

Missing reset of a freed pointer

Pointer or reference to stack variable leaving scope

Use of automatic variable as putenv-family function argument

Use of previously freed pointer

826Преждевременный релиз ресурса в течение ожидаемого срока службы

Closing a previously closed resource

Destruction of locked mutex

Use of previously closed resource

828Обработчик сигналов с функциями, которые не являются асинхронными-безопасными

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

832Разблокировка ресурса, который не заблокирован

Missing lock

833Тупик

Deadlock

843Доступ ресурса с использованием несовместимого типа ('Type confusion')

Unreliable cast of pointer

872CERT C++ Secure Coding Section 04 - Целые числа (INT)

Invalid use of standard library integer routine

873CERT C++ Secure Coding Section 05 - Арифметика с плавающей точкой (FLP)

Absorption of float operand

Float overflow

Floating point comparison with equality operators

Invalid use of standard library floating point routine

908Использование неинициализированного ресурса

Member not initialized in constructor

Non-initialized pointer

Non-initialized variable

910Использование дескриптора файла с истекшим сроком действия

Closing a previously closed resource

Standard function call with incorrect arguments

Use of previously closed resource

922Небезопасное хранение конфиденциальной информации

File manipulation after chroot without chdir

Umask used with chmod-style arguments

Use of non-secure temporary file

Vulnerable permission assignments