Skip to content
Heist/ feed
Back to feed
MediumFix available

nodejs — security advisory

Type: advisorySources: OSVAdvisory ID: ALPINE-CVE-2026-105481

A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that destroys idle keep-alive sockets when unexpected data arrives only runs when the event loop polls for I/O. If an unsolicited response has already reached the socket but has not been read yet when the socket is handed to a new request, for example because the event loop was busy with synchronous work, the guard is removed without seeing it and the data is parsed as the response to the new request. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.

Products
nodejs
Affected versions
Not specified
Fixed versions
22.23.4-r0, 24.22.1-r0
CVEs
CVE-2026-105481
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 04:03 UTC · Revision 1

Source evidence

ALPINE-CVE-2026-105481

core-osv · Original source

Published 23 Oct 2026, 17:17 UTC

A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that destroys idle keep-alive sockets when unexpected data arrives only runs when the event loop polls for I/O. If an unsolicited response has already reached the socket but has not been read yet when the socket is handed to a new request, for example because the event loop was busy with synchronous work, the guard is removed without seeing it and the data is parsed as the response to the new request. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.

osv:ALPINE-CVE-2026-105481

nodejs

Fixed versions: 22.23.4-r0

nodejs

Fixed versions: 22.23.4-r0

nodejs

Fixed versions: 24.22.1-r0

nodejs

Fixed versions: 24.22.1-r0

Complete source record
{
  "id": "bea588295466fe926a186ba2cd54571f6118d64868080821fe908f67886a9f00",
  "url": "https://osv.dev/vulnerability/ALPINE-CVE-2026-105481",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ALPINE-CVE-2026-105481",
    "summary": "A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that destroys idle keep-alive sockets when unexpected data arrives only runs when the event loop polls for I/O. If an unsolicited response has already reached the socket but has not been read yet when the socket is handed to a new request, for example because the event loop was busy with synchronous work, the guard is removed without seeing it and the data is parsed as the response to the new request. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.",
    "evidence": "osv:ALPINE-CVE-2026-105481",
    "products": [
      {
        "name": {
          "value": "nodejs",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "22.23.4-r0",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "nodejs",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "22.23.4-r0",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "nodejs",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "24.22.1-r0",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "nodejs",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "24.22.1-r0",
            "evidence": "/affected/3/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "ALPINE-CVE-2026-105481",
      "aliases": [
        "ALPINE-CVE-2026-105481"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "22.23.4-r0"
                }
              ]
            }
          ],
          "package": {
            "name": "nodejs",
            "purl": "pkg:apk/alpine/nodejs?arch=source",
            "ecosystem": "Alpine:v3.21"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-105481.json"
          },
          "ecosystem_specific": {}
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "22.23.4-r0"
                }
              ]
            }
          ],
          "package": {
            "name": "nodejs",
            "purl": "pkg:apk/alpine/nodejs?arch=source",
            "ecosystem": "Alpine:v3.22"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-105481.json"
          },
          "ecosystem_specific": {}
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "24.22.1-r0"
                }
              ]
            }
          ],
          "package": {
            "name": "nodejs",
            "purl": "pkg:apk/alpine/nodejs?arch=source",
            "ecosystem": "Alpine:v3.23"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-105481.json"
          },
          "ecosystem_specific": {}
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "24.22.1-r0"
                }
              ]
            }
          ],
          "package": {
            "name": "nodejs",
            "purl": "pkg:apk/alpine/nodejs?arch=source",
            "ecosystem": "Alpine:v3.24"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-105481.json"
          },
          "ecosystem_specific": {}
        }
      ],
      "modified": "2026-10-24T09:30:02.657898071Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-105481"
      ],
      "references": [
        "https://security.alpinelinux.org/vuln/CVE-2026-105481"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-105481",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 428923,
  "published_at": "2026-10-23T17:17:19.25+00:00"
}