来自匿名群友投稿的关于最近的emby 管理员提权漏洞的新发现
原漏洞 https://t.me/StarsNavigation/1301
1. 建议服主禁用所有空密码或者弱密码账号,恶意利用者可以使用撞用户名尝试获取一个可用的 token
2. 如果你只使用了乐观服主发的这个拦截规则,那么他并没有做到描述的完全覆盖,请立即更换
https://t.me/leguaneb/62
这条规则漏掉了
/mediabrowser/Connect/Exchange 依然能够正常提权获得管理员
以下是匿名投稿原文:
Emby /Connect/Exchange 漏洞 — 补充发现与修复
原文的修复方向对,但不完整。复测后补充以下 2点。
1. 入口拦截可被前缀别名绕过(原修复失效)
原文做法是在入口拦 /Connect/Exchange。但 Emby 同一套路由认三个前缀:
/ /emby/ /mediabrowser/
且大小写不敏感、编码不敏感。只拦一个精确路径,换成 /mediabrowser/Connect/Exchange(或 /MediaBrowser/、%2f、%65 等编码形式)就能拿到同一份管理员 Token。
修复:按解码后的 URI 做不区分大小写的包含匹配,一次覆盖全部前缀。
if ($uri ~* "connect/exchange") { return 403; }
不要用 location = /Connect/Exchange 这种精确路径。
验收:四条前缀路径全 403,编码变体也全 403。
2. 无密码账号可零凭据获取 Token(原方案的前提不成立)
原文整条链的前提是「攻击者已持有一个有效 Token」。实际不需要:账号只要没配置密码,Emby 允许空密码登录,{"Username":"x","Pw":""} 就能换到 Token。一个用户名即可 —— 不需要密码、不需要凭证泄露、不需要新建账号。拿到 Token 后第 1 点的漏洞就能直接利用。
修复:无密码账号全部强制设密码或禁用;建号流程强制填密码;后台关闭空密码 / 免密登录开关。
验收:任取账号做空密码登录,返回 401。
原乐蛙的拦截规则
/Connect/Exchange → 403(拦住了)
/emby/Connect/Exchange → 403(拦住了)
/mediabrowser/Connect/Exchange → 200(漏了,拿到管理员 Token)
Post #1226
1.49K
Forwarded from 星星的 Emby & 机场指南 (荷包蛋)
- ❤ 3