exponenta event banner

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

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

Поиск ошибок CWE и Polyspace

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

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

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

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

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

    • Можно сообщить соответствующий идентификатор CWE.

Результаты поиска ошибок сопоставляются идентификаторам CWE. Результаты поиска ошибок позволяют оценить код по стандарту CWE. Например, CWE ID 119 (Неправильное ограничение операций в пределах буфера памяти) отображает дефекты 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, Base и Variant. Идентификаторы типа Class определяют слабые стороны безопасности на абстрактном уровне независимо от конкретного языка или технологии, в то время как идентификаторы типа Base и Variant являются более конкретными. С другой стороны, результаты Polyspace Bug Finder разработаны таким образом, чтобы пользователи могли получить точную диагностику дефекта в своем коде и быстро понять его. Поэтому:

  • Результаты поиска ошибок сопоставляются с определенными идентификаторами типов Base и Variant, а не с универсальными идентификаторами типа Class.

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

  • Часто несколько результатов поиска ошибок сопоставляются определенному идентификатору CWE.

    Например, CWE-908 ссылается на «Использование неинициализированного ресурса». Чтобы выделить определенные виды неинициализированных ресурсов, Bug Finder имеет три различных элемента: Элемент, не инициализированный в конструкторе, Неинициализированный указатель и Неинициализированная переменная.

Сопоставление с подмножествами CWE-658 и CWE-659 см. в разделе Сопоставление между результатами CWE-658 или 659 и результатами Polyspace.

ИДЕНТИФИКАТОР CWEОписание идентификатора CWEСредство проверки дефектов поиска ошибок Polyspace
15Внешнее управление системой или настройкой конфигурации

Host change using externally controlled elements

Use of externally controlled environment variable

20Неправильная проверка ввода

Unsafe conversion from string to numerical value

22Неправильное ограничение пути к каталогу с ограниченным доступом («Путь прохождения»)

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Неправильная нейтрализация специальных элементов, используемых в команде ОС

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Неверный расчет размера буфера

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Неправильное завершение со значением NULL

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Целочисленный недопоток (обтекание или обтекание)

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Создание хроотной тюрьмы без изменения рабочего каталога

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Прозрачное хранение конфиденциальной информации в памяти

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То же начальное число в PRNG

Deterministic random output from constant seed

337Предсказуемое начальное значение в 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Одновременное выполнение с использованием общего ресурса с неправильной синхронизацией («Условие гонки»)

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

415Двойной бесплатный

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Пропущенная инструкция break в коммутаторе

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Использование getlogin () в многопоточном приложении

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Доступ к ресурсу с использованием несовместимого типа (путаница типов)

Unreliable cast of pointer

872CERT C++ Раздел 04 безопасного кодирования - целые числа (INT)

Invalid use of standard library integer routine

873CERT C++ Раздел 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