网安资讯详情 - SecLens 情报雷达

网安资讯,一网打尽。汇集权威漏洞通告与行业要闻,结合分组浏览、智能过滤、RSS订阅 和 Webhook 推送,多通道拓展您的安全情报视野。

npm/body-parser: body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement

来源: github_advisory · 发布时间 2026-07-21 07:23 (UTC+08:00) · 抓取时间 2026-07-21 07:45 (UTC+08:00)

原文链接

摘要

Severity: LOW | CVSS: 3.7 | CVE: CVE-2026-12590 | Package: npm/body-parser | Affected: < 1.20.6 | Patched: 1.20.6

正文

### Impact When body-parser is configured with an invalid `limit` option value, such as an unparseable string or `NaN`, `bytes.parse()` returns `null` and the request body size check is silently skipped. Applications that rely on `limit` as their primary safeguard against oversized request bodies will accept arbitrarily large payloads, leading to excessive memory and CPU usage and denial of service. This issue affects applications that pass a programmatically computed or user-configurable value to the `limit` option without validating it first. ### Patches This issue is fixed in [[email protected]](https://github.com/expressjs/body-parser/releases/tag/v2.3.0) and [[email protected]](https://github.com/expressjs/body-parser/releases/tag/v1.20.6) via [#698](https://github.com/expressjs/body-parser/pull/698). After the fix, invalid `limit` values throw a clear error at parser construction time instead of silently disabling enforcement. `null` and `undefined` continue to fall back to the default limit (`100kb`). ### Workarounds Validate `limit` before passing it to body-parser. For example, parse the value with [`bytes.parse()`](https://github.com/visionmedia/bytes.js) at startup and reject any configuration where it returns `null` or a non-finite number. ### References - [#698](https://github.com/expressjs/body-parser/pull/698): fix PR - [bytes.js](https://github.com/visionmedia/bytes.js): limit parser

标签

扩展字段

{
  "credits": [
    {
      "login": "Phillip9587",
      "type": "reporter"
    },
    {
      "login": "efekrskl",
      "type": "remediation_reviewer"
    },
    {
      "login": "UlisesGascon",
      "type": "remediation_reviewer"
    },
    {
      "login": "bjohansebas",
      "type": "analyst"
    }
  ],
  "cve_id": "CVE-2026-12590",
  "cvss_score": 3.7,
  "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L",
  "cwe_ids": [
    "CWE-770"
  ],
  "cwe_names": [
    "Allocation of Resources Without Limits or Throttling"
  ],
  "ghsa_id": "GHSA-v422-hmwv-36x6",
  "package": {
    "ecosystem": "npm",
    "name": "body-parser",
    "patched_version": "1.20.6",
    "vulnerable_range": "< 1.20.6"
  },
  "references": [
    "https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6",
    "https://nvd.nist.gov/vuln/detail/CVE-2026-12590",
    "https://github.com/expressjs/body-parser/pull/698",
    "https://github.com/expressjs/body-parser/pull/741",
    "https://github.com/expressjs/body-parser/commit/2322e111cc321413ec2b7b76d01be533d3de9d7d",
    "https://github.com/expressjs/body-parser/commit/3492672eee593d5c158f239b6e9115498a5dbeac",
    "https://cna.openjsf.org/security-advisories.html",
    "https://github.com/expressjs/body-parser/releases/tag/1.20.6",
    "https://github.com/expressjs/body-parser/releases/tag/v2.3.0",
    "https://github.com/advisories/GHSA-v422-hmwv-36x6"
  ],
  "source_code_location": "https://github.com/expressjs/body-parser",
  "updated_at": "2026-07-20T23:23:28Z"
}