IPBUF安全漏洞报告
English
CVE-2026-33148 CVSS 6.5 中危

CVE-2026-33148 Tandoor Recipes参数注入漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-33148
漏洞类型
参数注入
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tandoor Recipes

相关标签

参数注入拒绝服务Tandoor RecipesCVE-2026-33148

漏洞概述

Tandoor Recipes是一款食谱管理应用程序。在2.6.0版本之前,其FDC搜索端点存在安全漏洞。由于未对用户提供的`query`参数进行URL编码,直接将其拼接到上游API URL中,攻击者可注入`&`字符添加额外参数。这可能导致API密钥被覆盖、查询行为被篡改,甚至通过畸形请求引发服务器崩溃(HTTP 500),造成拒绝服务。

技术细节

该漏洞的核心在于Tandoor Recipes应用在构建FDC(USDA FoodData Central)上游API请求时,存在不安全的URL拼接行为。系统直接获取用户输入的`query`参数,并将其作为字符串片段插入到目标URL中,完全未进行URL编码处理。这种处理方式允许恶意用户在查询字符串中注入URL保留字符,例如`&`。通过注入`&`,攻击者可以成功闭合原始查询参数并引入新的参数键值对,例如覆盖系统预设的`api_key`参数或干扰其他查询逻辑。更严重的是,通过精心构造的畸形请求,攻击者可以触发上游API或应用逻辑的异常处理机制,导致服务端崩溃并返回HTTP 500状态码,从而造成拒绝服务(DoS)。

攻击链分析

STEP 1
发现
攻击者识别出Tandoor Recipes应用中的FDC搜索端点。
STEP 2
构造Payload
攻击者在`query`参数中插入`&`字符,构造包含额外参数的恶意输入(例如:`chicken&api_key=foo`)。
STEP 3
发送请求
向目标端点发送带有恶意参数的HTTP GET请求。
STEP 4
参数注入
服务器端直接将未编码的参数拼接到上游API URL中,导致攻击者注入的参数被解析。
STEP 5
利用后果
导致API密钥被覆盖、查询逻辑被篡改,或因畸形请求导致服务器返回HTTP 500错误,引发拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://localhost:8000/api/search/fdc/" # Malicious payload injecting an extra parameter # This attempts to override the api_key or cause a DoS malicious_query = "chicken&api_key=invalid&malformed_param=" params = { "query": malicious_query } # Send the request response = requests.get(target_url, params=params) # Check if server crashes or behaves unexpectedly print(f"Status Code: {response.status_code}") if response.status_code == 500: print("Vulnerability confirmed: Server crash triggered.") else: print("Server responded, check response body for parameter injection.")

影响范围

Tandoor Recipes < 2.6.0

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)中添加规则,过滤或拦截`query`参数中包含`&`等特殊字符的请求,或者暂时禁用FDC搜索功能直至修复完成。

参考链接

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