V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
CWE-188БазаЧерновик
Абстракция: База
Статус: Черновик
Источник ↗

Опора на расположение данных или памяти

Продукт делает неверные допущения об организации данных протокола или памяти на нижнем уровне, что приводит к непредвиденному поведению программы.

Открыть в каталоге с фильтром CWE →

Связанные CAPEC

Связанные уязвимости

CVE-2026-21493IccDEV предоставляет набор библиотек и инструментов для работы с профилями управления цветами ICC. Версии 2.3.1.1 и ниже уязвимы для замешательства типа в своем классе CIccSingleSampledeCurveXml во время сериализации кривой XML. Эта проблема исправлена в версии 2.3.1.2.
CVE-2024-40979В ядре Linux устранена следующая уязвимость: wifi: ath12k: исправлен сбой ядра во время возобновления работы В настоящее время во время возобновления работы память цели QMI обрабатывается неправильно, что приводит к сбою ядра, если не поддерживается переназначение DMA: BUG: Bad page state in process kworker/u16:54 pfn:36e80 page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x36e80 page dumped because: nonzero _refcount Call Trace: bad_page free_page_is_bad_report __free_pages_ok __free_pages dma_direct_free dma_free_attrs ath12k_qmi_free_target_mem_chunk ath12k_qmi_msg_mem_request_cb Причина в следующем: После загрузки модуля ath12k микропрограмма отправляет запрос памяти хосту. Если переназначение DMA не поддерживается, ath12k отклоняет первый запрос из-за сбоя при выделении с большим размером сегмента: ath12k_pci 0000:04:00.0: qmi firmware request memory request ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 7077888 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 8454144 ath12k_pci 0000:04:00.0: qmi dma allocation failed (7077888 B type 1), will try later with small size ath12k_pci 0000:04:00.0: qmi delays mem_request 2 ath12k_pci 0000:04:00.0: qmi firmware request memory request Позже микропрограмма возвращается с большим количеством, но небольших сегментов, и выделение проходит успешно: ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 262144 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 524288 ath12k_pci 0000:04:00.0: qmi mem seg type 4 size 65536 ath12k_pci 0000:04:00.0: qmi mem seg type 1 size 524288 Теперь ath12k работает. Если срабатывает приостановка, микропрограмма будет перезагружена во время возобновления работы. Как и прежде, микропрограмма сначала запрашивает два больших сегмента. В ath12k_qmi_msg_mem_request_cb() назначаются количество и размер сегментов: ab->qmi.mem_seg_count == 2 ab->qmi.target_mem[0].size == 7077888 ab->qmi.target_mem[1].size == 8454144 Затем выделение завершается неудачей, как и прежде, и вызывается ath12k_qmi_free_target_mem_chunk() для освобождения всех выделенных сегментов. Обратите внимание, что первый сегмент пропускается, потому что его v.addr очищается из-за сбоя выделения: chunk->v.addr = dma_alloc_coherent() Также обратите внимание, что это приводит к утечке этого сегмента, потому что он не был освобожден. При освобождении второго сегмента размер 8454144 передается в dma_free_coherent(). Однако помните, что этот сегмент выделяется при первой загрузке микропрограммы, перед приостановкой. Таким образом, его реальный размер составляет 524288, что намного меньше 8454144. В результате ядро обнаружило, что мы освобождаем некоторую память, которая используется, и поэтому происходит сбой. ---truncated---
CVE-2023-52561В ядре Linux устранена следующая уязвимость: arm64: dts: qcom: sdm845-db845c: пометить cont splash memory region как зарезервированную. Добавление зарезервированной области памяти для памяти кадрового буфера (область splash memory, настроенная загрузчиком). Это исправляет kernel panic (arm-smmu: необработанная ошибка контекста в этой конкретной области памяти), о которой сообщалось на DB845c, работающем под v5.10.y.