目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1000

100.0%

CWE-188 依赖数据/内存布局 类漏洞列表 1

CWE-188 依赖数据/内存布局 类弱点 1 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-188 属于依赖数据或内存布局的漏洞,源于程序对底层协议数据或内存组织结构的错误假设。攻击者常利用平台迁移或协议版本变更时内存布局的意外变化,通过构造特定输入触发非预期行为,从而引发崩溃或代码执行。开发者应避免对内存布局做硬性假设,采用抽象接口处理数据,并在跨平台移植时进行严格的兼容性测试与验证,以确保逻辑独立性。

MITRE CWE 官方描述
CWE:CWE-188 对数据/内存布局的依赖 英文:产品对协议数据或内存的低层组织方式做出了无效假设,导致非预期的程序行为。 在更改平台或协议版本时,数据的内存内组织方式可能会以非预期的方式发生变化。例如,某些架构可能将局部变量 A 和 B 紧邻放置,且 A 位于上方;某些架构可能将 B 置于上方;而其他架构则可能为每个变量添加一些填充(padding)。填充大小可能各不相同,以确保每个变量对齐到合适的字长(word size)。在协议实现中,通常通过计算相对于另一个字段的偏移量来提取特定的数据片段。异常条件(通常涉及新的协议版本)可能会引入改变数据布局的边角情况(corner cases)。其结果可能是实现访问了数据包中的非预期字段,将一种类型的数据当作另一种类型的数据处理。
常见影响 (1)
Integrity, ConfidentialityModify Memory, Read Memory
Can result in unintended modifications or exposure of sensitive memory.
缓解措施 (3)
Implementation, Architecture and DesignIn flat address space situations, never allow computing memory addresses as offsets from another memory address.
Architecture and DesignFully specify protocol layout unambiguously, providing a structured grammar (e.g., a compilable yacc grammar).
TestingTesting: Test that the implementation properly handles each case in the protocol grammar.
代码示例 (1)
In this example function, the memory address of variable b is derived by adding 1 to the address of variable a. This derived address is then used to assign the value 0 to b.
void example() { char a; char b; *(&a + 1) = 0; }
Bad · C
CVE ID标题CVSS风险等级Published
CVE-2026-21493 iccDEV 安全漏洞 — iccDEV 6.6 Medium2026-01-06

CWE-188(依赖数据/内存布局) 是常见的弱点类别,本平台收录该类弱点关联的 1 条 CVE 漏洞。