已关闭
[Bug]: /v1/completions 接口可接收畸形多模态特殊token,存在拒绝服务风险 #536
muziyuhui666创建于 4月21日关闭于 5月25日
4月21日 添加了label:bug
CXY-Katrina
4月21日 评论:
4月21日 评论:
收到反馈,感谢!我会尽快查看并回复进展。


4月23日 关联了pull request:[Bugfix] 修复多模态tokenizer特殊token拆分逻辑,避免恶意token导致服务异常
5月25日 关闭了 issue
5月25日 重新打开了 issue
5月25日 issue状态由 TODO 改变为 DONE
5月25日 关闭了 issue
在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用
<TOKEN>等占位符替代原有内容。环境信息
🐛 问题描述
问题描述
在使用
mindie_llm服务化部署qwen2.5-vl模型时,向/v1/completions发送包含恶意多模态特殊 token 的请求,会导致服务异常,存在拒绝服务(DoS)风险。同时,在问题定位过程中发现,tokenizer 多模态判定如果依赖不稳定的初始化路径,可能在 tokenizer worker 启动阶段引入子进程崩溃风险。
影响范围
/v1/completionsqwen2.5-vl复现步骤
qwen2.5-vl服务。/v1/chat/completions,服务可正常返回结果。/v1/completions:curl -X POST \ -d '{ "model": "qwen2_5_vl", "prompt": "<|vision_start|><|video_pad|><|vision_end|>", "do_sample": false, "max_tokens": 256 }' \ 127.0.0.21:2025/v1/completions期望结果
实际结果
Empty reply from server)IndexError)Segmentation fault/Aborted。根因分析
初步分析认为问题包含两个方面:
/v1/completions对prompt中多模态保留特殊 token 缺少足够的入口约束,恶意构造的特殊 token 可以进入后续推理链路。建议修复方向
/v1/completions入口增加对畸形多模态特殊 token 的校验逻辑,异常输入直接返回 4xx。is_multimodal)驱动 tokenizer 特殊 token 处理逻辑,避免访问存在副作用的路径。/v1/chat/completions多模态请求可正常返回环境信息
qwen2.5-vlmindie_llm服务化部署/v1/completions日志现象
历史复现中可见如下现象:
IndexErrorEmpty reply from serverSegmentation faultAborted欢迎加入社区,感谢您对社区的贡献 🎉!