NodeBB 漏洞允许攻击者注入布尔型盲注和 PostgreSQL 报错型负载

NodeBB 漏洞允许攻击者注入布尔型盲注和 PostgreSQL 报错型负载

NodeBB 是一款广受欢迎的开源论坛平台,其 4.3.0 版本被发现存在严重的 SQL 注入漏洞。
该漏洞编号为 CVE-2025-50979,存在于 “search-categories” API 端点中,未经验证的远程攻击者可利用此漏洞注入布尔型盲注负载和 PostgreSQL 报错型负载。
漏洞若被成功利用,可能导致未授权数据访问、信息泄露或进一步的系统入侵。

核心要点

  1. NodeBB 4.3.0 版本中未经过滤的 “search” 参数,允许未经验证的 SQL 注入攻击;
  2. 攻击方式包括布尔型盲注和 PostgreSQL 报错型负载注入;
  3. 应对措施:升级版本,或使用 Web 应用防火墙(WAF)规则、IP 限制及日志监控。

SQL 注入漏洞详情

在 NodeBB 4.3.0 版本中,“search-categories” API 的 “search” 参数在传递至底层 SQL 查询构造器之前,未经过充分的安全过滤。

 

因此,攻击者可构造特制负载,篡改 SQL 语句的预期逻辑。以下两个概念验证(PoC)负载可体现该漏洞的严重性:

1. 布尔型盲注负载

NodeBB 漏洞允许攻击者注入布尔型盲注和 PostgreSQL 报错型负载

plaintext
GET /api/v3/search/categories?search=' AND 4638=4638-tbby&query[cid]=-1&parentCid=θ&selectedCids[]=-1&privilege=topics: read&states[]=watching&states[]=tracking&states[]=notwatching&showlinks=

 

该负载在 SQL 语句的 WHERE 子句后追加了 “AND 4638=4638”(此条件恒为真),表明攻击者可控制 SQL 查询的条件逻辑。

2. PostgreSQL 报错型注入负载

NodeBB 漏洞允许攻击者注入布尔型盲注和 PostgreSQL 报错型负载

plaintext
GET /api/v3/search/categories?search=-3217' OR 1251=CAST((CHR(113)||CHR(98)||CHR(118)|CHR(98)||CHR(113))||(SELECT(CASE WHEN (1251=1251) THEN 1 ELSE Θ END))::text||(CHR(113)||CHR(113)||CHR(118)||CHR(98)||CHR(113)) AS NUMERIC)-WsPn&query[cid]=-1&parentCid=ø&selectedCids[]=-1&privilege=topics: read&states[]=watching&states[]=tracking&states[]=notwatching&showlinks=

 

该负载会触发 PostgreSQL 数据库的类型转换错误,攻击者可通过包含注入标记的数据库错误信息,确认攻击是否成功。

 

风险因素 详情
受影响产品 NodeBB 4.3.0 版本
影响范围 未授权数据访问、信息泄露、任意 SQL 执行
利用前提 可远程通过 HTTP 访问;无需身份验证
CVSS 3.1 评分 9.8(严重级别)

缓解措施

攻击者利用 CVE-2025-50979 漏洞,可读取或修改敏感数据、提升在论坛系统中的权限,甚至执行任意 SQL 命令。

 

公网暴露的 NodeBB 实例面临极高风险,尤其是未配置严格防火墙规则或使用宽松反向代理的实例。

 

NodeBB 维护团队已在 4.3.1 版本中发布补丁,该补丁会对 “search” 参数进行正确的转义处理和参数化,以修复漏洞。

 

建议管理员立即将 NodeBB 升级至 4.3.1 版本。若无法立即升级,可采取以下临时缓解措施:

 

  • 配置 Web 应用防火墙(WAF)规则,拦截包含 SQL 元字符的请求;
  • 通过网络访问控制列表(ACL)或代理配置,将 API 访问限制在可信 IP 范围内;
  • 监控日志中 “search” 参数的可疑模式(如异常符号、SQL 关键字等)。

 

此漏洞再次凸显了 “输入过滤” 和 “SQL 交互时采用预处理语句” 的关键重要性。对于 NodeBB 这类社区平台,要抵御日益复杂的注入攻击,持续保持警惕并及时更新系统仍是核心防御手段。

关键术语补充说明

  1. SQL 注入(SQL Injection):一种常见的 Web 安全漏洞,攻击者通过在用户输入中插入 SQL 语句片段,篡改后台数据库查询逻辑,实现未授权数据访问或系统控制。
  2. 布尔型盲注(Boolean-Based Blind Injection):SQL 注入的一种类型,攻击者通过构造使查询结果为 “真” 或 “假” 的条件,逐步推断数据库中的信息,无需直接获取查询结果。
  3. PostgreSQL 报错型注入(PostgreSQL Error-Based Injection):针对 PostgreSQL 数据库的注入方式,通过触发数据库错误(如类型转换错误、语法错误),从错误信息中提取数据库结构或数据。
  4. CVSS(Common Vulnerability Scoring System):通用漏洞评分系统,用于评估漏洞的严重程度,评分范围 0-10 分,9.0-10.0 为 “严重(Critical)” 级别。
  5. 预处理语句(Prepared Statements):一种数据库查询安全机制,将 SQL 语句结构与用户输入分离,可有效防止 SQL 注入,确保输入仅作为数据而非执行代码被处理。
红客联盟·免责声明
1. 本版块文章内容及资料部分来源于网络,不代表本站观点,不对其真实性负责,也不构成任何建议。
2. 部分内容由网友自主投稿、编辑整理上传,本站仅提供交流平台,不为该类内容的版权负责。
3. 本版块提供的信息仅作参考,不保证信息的准确性、有效性、及时性和完整性。
4. 若您发现本版块有侵犯您知识产权的内容,请及时与我们联系,我们会尽快修改或删除。
5. 使用者违规、不可抗力(如黑客攻击)或第三方擅自转载引发的争议,联盟不承担责任。
6. 联盟可修订本声明,官网发布即生效,继续使用视为接受新条款。
联系我们:admin@chnhonker.com

给TA打赏
共{{data.count}}人
人已打赏
安全威胁

NightSpire 勒索软件团伙声称利用企业漏洞入侵其系统

2025-8-30 3:06:38

安全威胁

思杰(Citrix)NetScaler 零日远程代码执行漏洞已修复 —— 易受攻击实例从 2.82 万个降至 1.24 万个

2025-8-30 3:17:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索