CVE-2026-41244Mojic是一个将可读C代码转换为混乱表情符号流的CLI工具。在2.1.4版本之前,该工具的CipherEngine组件在解密阶段使用标准相等运算符(!==)来验证HMAC-SHA256完整性封印。这种实现方式引入了可观察到的时序差异(CWE-208)。潜在的攻击者可以利用此漏洞,通过时序攻击绕过文件完整性检查,从而篡改文件内容而不被检测到。该漏洞已在2.1.4版本中修复。
该漏洞的核心问题在于使用了非恒定时间(Non-constant-time)的算法来比较敏感的HMAC哈希值。标准的不等于运算符(!==)在执行字符串比较时,一旦发现不匹配的字符就会立即返回错误。攻击者可以通过向解密接口发送大量特制的篡改文件,并精密测量服务器或本地处理每次验证所需的时间。由于正确字符的比较会导致稍长的处理时间,攻击者可以利用这种微小的时序差异,逐字节地推断出正确的HMAC签名。一旦计算出有效的HMAC,攻击者即可对文件进行恶意修改(如植入恶意代码)并伪造合法的签名,从而完全绕过完整性保护机制。