CVE-2026-1462该漏洞存在于 keras 包 3.13.0 版本的 `TFSMLayer` 类中。攻击者可利用此漏洞,在反序列化 `.keras` 模型时绕过 `safe_mode=True` 的安全限制,加载受控的 TensorFlow SavedModels。这导致 `safe_mode` 的安全保证失效,使攻击者能够在模型推理期间,以受害者的权限执行任意代码,存在严重的安全风险。
漏洞源于 `TFSMLayer` 类在处理模型配置及反序列化过程中存在严重的逻辑缺陷。具体而言,当 `safe_mode` 参数被设置为 `True` 时,Keras 框架本应禁止加载不安全的自定义对象或组件,以防止恶意代码执行。然而,`TFSMLayer` 的 `from_config()` 方法在实现中未遵循此安全策略,它无条件地加载外部 SavedModels,且对序列化数据中的文件路径缺乏必要的验证和清理。攻击者可以精心构造一个恶意的 `.keras` 模型文件,并在其中嵌入指向攻击者控制的服务器上的恶意 TensorFlow SavedModel 的路径。当受害者使用 `tf.keras.models.load_model` 函数加载此恶意文件时,即便显式指定了 `safe_mode=True`,`TFSMLayer` 依然会解析配置并尝试加载攻击者指定的外部模型资源。由于 SavedModel 格式包含可执行的计算图或操作,这一加载过程直接触发了任意代码执行,从而完全绕过了安全模式的设计初衷,导致系统被攻陷。