Skip to content
Heist/ feed
Back to feed
Medium

webfinger.js is vulnerable to Blind SSRF attacks through localhost

Type: advisorySources: OSV

webfinger.js is a TypeScript-based WebFinger client that runs in both browsers and Node.js environments. In versions 2.8.0 and below, the lookup function accepts user addresses for account checking. However, the ActivityPub specification requires preventing access to localhost services in production. This library does not prevent localhost access, only checking for hosts that start with "localhost" and end with a port. Users can exploit this by creating servers that send GET requests with controlled host, path, and port parameters to query services on the instance's host or local network, enabling blind SSRF attacks. This is fixed in version 2.8.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-54590
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 09:05 UTC · Revision 1

Source evidence

webfinger.js is vulnerable to Blind SSRF attacks through localhost

core-osv · Original source

Published 1 Aug 2025, 18:03 UTC

webfinger.js is a TypeScript-based WebFinger client that runs in both browsers and Node.js environments. In versions 2.8.0 and below, the lookup function accepts user addresses for account checking. However, the ActivityPub specification requires preventing access to localhost services in production. This library does not prevent localhost access, only checking for hosts that start with "localhost" and end with a port. Users can exploit this by creating servers that send GET requests with controlled host, path, and port parameters to query services on the instance's host or local network, enabling blind SSRF attacks. This is fixed in version 2.8.1.

osv:CVE-2025-54590
Complete source record
{
  "id": "a1f36afe4440b585207ce8a50722370f424a59ebdf4c7e9608dcd3d9657a5f1a",
  "url": "https://osv.dev/vulnerability/CVE-2025-54590",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "webfinger.js is vulnerable to Blind SSRF attacks through localhost",
    "summary": "webfinger.js is a TypeScript-based WebFinger client that runs in both browsers and Node.js environments. In versions 2.8.0 and below, the lookup function accepts user addresses for account checking. However, the ActivityPub specification requires preventing access to localhost services in production. This library does not prevent localhost access, only checking for hosts that start with \"localhost\" and end with a port. Users can exploit this by creating servers that send GET requests with controlled host, path, and port parameters to query services on the instance's host or local network, enabling blind SSRF attacks. This is fixed in version 2.8.1.",
    "evidence": "osv:CVE-2025-54590",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-54590",
      "aliases": [
        "CVE-2025-54590",
        "GHSA-8xq3-w9fx-74rv"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/silverbucket/webfinger.js",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "c01379e671123d03732a5b5568b34256c79aad02"
                },
                {
                  "fixed": "b5f2f2c957297d25f4d76072963fccaee2e3095a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.8.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b5f2f2c957297d25f4d76072963fccaee2e3095a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c01379e671123d03732a5b5568b34256c79aad02"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.8.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.8.0",
            "v2.1.1",
            "v2.7.1",
            "v2.7.0",
            "v2.6.6",
            "v2.6.5",
            "v2.6.4",
            "v2.6.3",
            "v2.6.2",
            "v2.6.1",
            "v2.6.0",
            "v2.5.0",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.2",
            "v2.3.1",
            "v2.3.0",
            "v2.2.1",
            "v2.2.0",
            "v2.1.4",
            "v2.1.3",
            "v2.1.2",
            "v2.1.0",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v1.1.1",
            "v1.0.2",
            "v1.0.1",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3",
            "v0.1.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-54590.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.199641675Z",
      "provider": "osv",
      "references": [
        "https://github.com/silverbucket/webfinger.js/releases/tag/v2.8.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54590.json",
        "https://github.com/silverbucket/webfinger.js/security/advisories/GHSA-8xq3-w9fx-74rv",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-54590",
        "https://github.com/silverbucket/webfinger.js/commit/b5f2f2c957297d25f4d76072963fccaee2e3095a"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54590.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-54590",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518839,
  "published_at": "2025-08-01T18:03:41.619+00:00"
}