支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2026-23849 基础信息
漏洞信息
                                        # File Browser 用户名枚举漏洞

## 概述
File Browser 的 `JSONAuth.Auth` 函数在版本 2.55.0 之前存在逻辑缺陷,导致攻击者可通过测量响应时间枚举有效用户名。

## 影响版本
- 受影响版本:低于 2.55.0 的所有版本
- 修复版本:2.55.0

## 细节
- 漏洞位于 `/api/login` 接口的认证逻辑中。
- 当用户名不存在时,函数立即返回,不执行后续操作。
- 当用户名存在时,系统调用 `users.CheckPwd` 使用 bcrypt 验证密码,该过程计算开销大、耗时较长。
- 由于 bcrypt 验证的延迟,存在“短路”判断,导致不同用户名输入产生可测量的时间差异。
- 攻击者可通过发送大量登录请求并分析响应时间,判断用户名是否存在。

## 影响
- 未经身份验证的攻击者可利用此漏洞进行用户名枚举。
- 泄露有效用户名信息,为后续攻击(如暴力破解、凭证填充)提供条件。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
File Browser vulnerable to Username Enumeration via Timing Attack in /api/login
来源:美国国家漏洞数据库 NVD
漏洞描述信息
File Browser provides a file managing interface within a specified directory and can be used to upload, delete, preview, rename, and edit files. Prior to version 2.55.0, the JSONAuth. Auth function contains a logic flaw that allows unauthenticated attackers to enumerate valid usernames by measuring the response time of the /api/login endpoint. The vulnerability exists due to a "short-circuit" evaluation in the authentication logic. When a username is not found in the database, the function returns immediately. However, if the username does exist, the code proceeds to verify the password using bcrypt (users.CheckPwd), which is a computationally expensive operation designed to be slow. This difference in execution path creates a measurable timing discrepancy. Version 2.55.0 contains a patch for the issue.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
来源:美国国家漏洞数据库 NVD
漏洞类别
通过时间差异性导致的信息暴露
来源:美国国家漏洞数据库 NVD
二、漏洞 CVE-2026-23849 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2026-23849 的情报信息
  • 标题: Username Enumeration via Timing Attack in /api/login · Advisory · filebrowser/filebrowser · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ### 关键信息汇总
    
    #### 漏洞概述
    - **漏洞类型**: 用户名枚举漏洞,通过时间攻击 (/api/login)
    - **CVE ID**: CVE-2026-23849
    - **CVSS 评分**: 5.3/10 (中等)
    - **受影响版本**: < 2.54.0
    - **修复版本**: 2.55.0
    
    #### 漏洞细节
    - **业务逻辑缺陷**: 由于`JSONAuth.Auth`函数中的逻辑错误, 导致未认证的攻击者可以通过测量 `/api/login` 端点的响应时间来枚举有效用户名。
    - **存在漏洞的原因**: 数据库中找不到用户名时,函数立即返回;当存在用户名时,代码继续使用 `bcrypt`进行密码验证,造成响应时间差异。
    - **响应时间差异**:
      - 非法用户: ~1ms
      - 合法用户: ~50ms+
    
    #### 证明概念 (PoC)
    - **Python 脚本**: 自动化攻击,测量响应时间以检测合法用户名。
    
    #### 影响
    - **安全风险**: 使未认证的远程攻击者可枚举有效用户名,可能会触发针对特定用户账号的暴力破解或凭据填充攻击。
                                            
    Username Enumeration via Timing Attack in /api/login · Advisory · filebrowser/filebrowser · GitHub
  • 标题: Merge commit from fork · filebrowser/filebrowser@24781ba · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键信息
    
    - **漏洞类型**: 用户枚举定时攻击(Timing Attack)在JSON认证中
    - **修复措施**: 添加了一个虚拟的bcrypt哈希值
    - **代码变更**: 文件 `auth/json.go` 中的 `MethodJSONAuth` 方法被修改
    - **变更描述**: 通过引入一个有效的虚拟bcrypt哈希值,防止攻击者利用登录尝试的时间差异来猜测用户是否存在
    - **代码片段示例**:
      ```go
      const dummyHash = "$2a$10$mEMeOLnXzqaWQXauLRbRlzb3IgLHa26pfOn/GiU9b.wK1m"
      // 代码逻辑中引入了该虚拟哈希值, 用于在用户不存在或错误密码时使用, 以统一响应时间
      ```
                                            
    Merge commit from fork · filebrowser/filebrowser@24781ba · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2026-23849
四、漏洞 CVE-2026-23849 的评论

暂无评论


发表评论