[危急] JWT签名验证可被绕过 #70

Closed
opened 2026-05-10 18:39:05 +08:00 by admin · 0 comments
Owner

问题描述

backend/app/core/behavior_middleware.py 第56-65行,JWT验证逻辑存在两处严重缺陷:

  1. 第62行 Base64 padding 计算 payload += '=' * (4 - len(payload) % 4) 当 len(payload) % 4 == 0 时会添加4个等号,导致解码失败后回退到无签名验证分支
  2. 签名验证失败时仅记录日志,不拒绝请求

涉及文件

  • backend/app/core/behavior_middleware.py:56-65

修复建议

  1. 修复padding公式为 padding = (4 - len(payload) % 4) % 4
  2. 签名验证失败时必须返回401

严重程度

危急 - 认证绕过风险

## 问题描述 backend/app/core/behavior_middleware.py 第56-65行,JWT验证逻辑存在两处严重缺陷: 1. 第62行 Base64 padding 计算 payload += '=' * (4 - len(payload) % 4) 当 len(payload) % 4 == 0 时会添加4个等号,导致解码失败后回退到无签名验证分支 2. 签名验证失败时仅记录日志,不拒绝请求 ## 涉及文件 - backend/app/core/behavior_middleware.py:56-65 ## 修复建议 1. 修复padding公式为 padding = (4 - len(payload) % 4) % 4 2. 签名验证失败时必须返回401 ## 严重程度 危急 - 认证绕过风险
admin closed this issue 2026-05-10 18:46:30 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/aiagent#70