Skip to content

Replace deprecated 'request' package to address SSRF vulnerability #83

@abckx-coder

Description

@abckx-coder

Summary

The request package used in matrix-bot-sdk is deprecated and has a known SSRF (Server-Side Request Forgery) vulnerability (CVE-2023-28155).

Details

  • Package: request (<=2.88.2)
  • Advisory: GHSA-p8p7-x288-28g6
  • Severity: Moderate
  • Status: Deprecated, no fix available ("patched versions" shows <0.0.0)

Current Usage in Bot SDK

"dependencies": {
  "request": "^2.88.2",
  "request-promise": "^4.2.6"
}

Proposed Solution

Replace request and request-promise with modern alternatives:

Option A: axios (most compatible)

npm install axios
npm uninstall request request-promise

Option B: native fetch (Node 18+)

Built-in, no additional dependencies needed.

Option C: undici (Node.js team recommended)

Fast, spec-compliant HTTP client.

Impact

  • Security: Eliminates SSRF vulnerability
  • Maintenance: Removes deprecated dependency
  • Breaking: Minimal - internal HTTP client change only

References

Would the maintainers accept a PR implementing this change? I can prepare one if there's interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions