Common Weakness Enumeration

CWE-918

Allowed

Server-Side Request Forgery (SSRF)

Abstraction: Base · Status: Incomplete

The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

6271 vulnerabilities reference this CWE, most recent first.

GHSA-PRM2-RG4G-W438

Vulnerability from github – Published: 2026-09-14 18:31 – Updated: 2026-09-14 18:31
VLAI
Details

Huly Platform through 0.7.426 contains a server-side request forgery vulnerability in the print service due to missing hostname allowlist validation. Authenticated workspace members can supply arbitrary URLs to the print endpoint, which Puppeteer renders and returns as downloadable PDFs or images, enabling access to internal metadata services and network hosts.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-91079"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-09-14T18:20:29Z",
    "severity": "MODERATE"
  },
  "details": "Huly Platform through 0.7.426 contains a server-side request forgery vulnerability in the print service due to missing hostname allowlist validation. Authenticated workspace members can supply arbitrary URLs to the print endpoint, which Puppeteer renders and returns as downloadable PDFs or images, enabling access to internal metadata services and network hosts.",
  "id": "GHSA-prm2-rg4g-w438",
  "modified": "2026-09-14T18:31:29Z",
  "published": "2026-09-14T18:31:29Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-91079"
    },
    {
      "type": "WEB",
      "url": "https://github.com/hcengineering/platform/issues/10908"
    },
    {
      "type": "WEB",
      "url": "https://github.com/hcengineering/platform"
    },
    {
      "type": "WEB",
      "url": "https://github.com/hcengineering/platform/blob/v0.7.426/services/print/pod-print/src/config.ts"
    },
    {
      "type": "WEB",
      "url": "https://github.com/hcengineering/platform/blob/v0.7.426/services/print/pod-print/src/server.ts"
    },
    {
      "type": "WEB",
      "url": "https://www.vulncheck.com/advisories/huly-platform-through-0.7.426-ssrf-via-print-service"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
      "type": "CVSS_V4"
    }
  ]
}

GHSA-PRMX-7V35-7Q82

Vulnerability from github – Published: 2026-04-02 09:30 – Updated: 2026-04-04 05:35
VLAI
Summary
a11y-mcp: Server-Side Request Forgery (SSRF) vulnerability in A11yServer function
Details

A vulnerability was found in priyankark a11y-mcp up to 1.0.5. This vulnerability affects the function A11yServer of the file src/index.js. The manipulation results in server-side request forgery. The attack must be initiated from a local position. The exploit has been made public and could be used. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases.

Upgrading to version 1.0.6 is able to resolve this issue. The patch is identified as e3e11c9e8482bd06b82fd9fced67be4856f0dffc. It is recommended to upgrade the affected component. The vendor acknowledged the issue but provides additional context for the CVSS rating: "a11y-mcp is a local stdio MCP server - it has no HTTP endpoint and is not network-accessible. The caller is always the local user or an LLM acting on their behalf with user approval."

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "a11y-mcp"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.0.5"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-5323"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-04-04T05:35:52Z",
    "nvd_published_at": "2026-04-02T07:15:58Z",
    "severity": "LOW"
  },
  "details": "A vulnerability was found in priyankark a11y-mcp up to 1.0.5. This vulnerability affects the function A11yServer of the file src/index.js. The manipulation results in server-side request forgery. The attack must be initiated from a local position. The exploit has been made public and could be used. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases. \n\nUpgrading to version 1.0.6 is able to resolve this issue. The patch is identified as e3e11c9e8482bd06b82fd9fced67be4856f0dffc. It is recommended to upgrade the affected component. The vendor acknowledged the issue but provides additional context for the CVSS rating: \"a11y-mcp is a local stdio MCP server - it has no HTTP endpoint and is not network-accessible. The caller is always the local user or an LLM acting on their behalf with user approval.\"",
  "id": "GHSA-prmx-7v35-7q82",
  "modified": "2026-04-04T05:35:52Z",
  "published": "2026-04-02T09:30:24Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-5323"
    },
    {
      "type": "WEB",
      "url": "https://github.com/wing3e/public_exp/issues/17"
    },
    {
      "type": "WEB",
      "url": "https://github.com/priyankark/a11y-mcp/commit/e3e11c9e8482bd06b82fd9fced67be4856f0dffc"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/priyankark/a11y-mcp"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/submit/780752"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/vuln/354655"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/vuln/354655/cti"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P",
      "type": "CVSS_V4"
    }
  ],
  "summary": "a11y-mcp: Server-Side Request Forgery (SSRF) vulnerability in A11yServer function"
}

GHSA-PRQ8-7WVH-44QH

Vulnerability from github – Published: 2026-07-28 16:27 – Updated: 2026-07-28 16:27
VLAI
Summary
OAuth: Cross-origin token-request redirects can expose signed request metadata
Details

Cross-origin OAuth token-request redirects can expose signed request metadata

Summary

When an application uses OAuth::Consumer to request OAuth 1.0 request tokens or access tokens, the token request helper follows 300..399 redirects returned by the OAuth server. In affected versions, OAuth::Consumer#token_request parses the raw Location header, follows the redirect recursively, and can mutate the consumer's configured site when the redirect points to a different host with the same path.

The result is a cross-origin signed-request disclosure primitive: if an OAuth server token endpoint returns a redirect whose target an attacker controls, the client can re-sign the token request and send OAuth 1.0 request metadata, including the OAuth signature, nonce, timestamp, consumer key, and any request parameters included in the signature base string, to the attacker-controlled host. The same behavior can also be used as an SSRF or confused-deputy primitive because the application server follows the redirect and sends the next request from its own network position.

Affected

  • oauth v1.1.5 and prior versions back to and including v0.5.5.
  • The cross-host token redirect behavior was introduced by https://github.com/ruby-oauth/oauth/commit/d74b767f
  • The behavior is documented in the v0.5.5 changelog as "Allow redirect to different host but same path".
  • The vulnerable behavior is in OAuth::Consumer#token_request, which is used by the documented request-token and access-token flows.
  • The issue is not specific to a Ruby engine or platform. It is caused by the gem's redirect handling and recursive token request behavior.

Patched version: oauth v1.1.6.

Impact

A consumer that calls OAuth::Consumer#get_request_token, OAuth::Consumer#get_access_token, or lower-level token request helpers against an OAuth server whose token endpoint redirect target can be influenced may lose three security properties:

  1. Cross-origin signed-request metadata disclosure. The redirected request is signed for the attacker-controlled endpoint. Depending on the request method, scheme, and parameters, the attacker may receive OAuth 1.0 parameters such as oauth_consumer_key, oauth_signature_method, oauth_timestamp, oauth_nonce, oauth_version, and oauth_signature.
  2. SSRF from the application server. The OAuth client follows the redirect on behalf of the application, so the redirected host is contacted from the application server's network position.
  3. Confused-deputy behavior. A malicious or compromised token endpoint can cause an otherwise trusted application to initiate signed requests to an unintended origin.

The disclosed OAuth 1 signature is not equivalent to an OAuth 2 bearer token: it is bound to the signed request, timestamp, nonce, HTTP method, and request URL. However, it can still disclose sensitive integration metadata, may be replayable within the receiver's accepted nonce/timestamp window in some deployments, and can expose application-server reachability to attacker-selected hosts.

Vulnerable code

lib/oauth/consumer.rb at tag v1.1.5:

def token_request(http_method, path, token = nil, request_options = {}, *arguments)
  request_options[:token_request] ||= true
  response = request(http_method, path, token, request_options, *arguments)
  case response.code.to_i

  when (200..299)
    # parse token response
  when (300..399)
    # Parse redirect to follow
    uri = URI.parse(response["location"])
    our_uri = URI.parse(site)

    # Guard against infinite redirects
    response.error! if uri.path == path && our_uri.host == uri.host

    if uri.path == path && our_uri.host != uri.host
      options[:site] = "#{uri.scheme}://#{uri.host}"
      @http = create_http
    end

    token_request(http_method, uri.path, token, request_options, arguments)
  when (400..499)
    raise OAuth::Unauthorized, response
  else
    response.error!
  end
end

The vulnerable behavior has several parts:

  • response["location"] is trusted as the next token request target.
  • Redirects are followed for every 300..399 response.
  • There is no general redirect counter or maximum redirect limit.
  • Cross-host redirects with the same path can mutate options[:site] and rebuild the underlying HTTP client.
  • The recursive call continues the token request flow and signs the next request for the redirected destination.

Reachable in production

The vulnerable path is reachable through the normal OAuth 1 token exchange:

consumer = OAuth::Consumer.new(
  consumer_key,
  consumer_secret,
  site: "https://provider.example"
)

request_token = consumer.get_request_token

If https://provider.example/oauth/request_token returns a redirect to an attacker-controlled host, the library follows that redirect as part of the token request flow. A realistic trigger is an OAuth provider, gateway, or reverse proxy that emits Location based on user-controlled or tenant-controlled input, or a malicious tenant-controlled OAuth endpoint in a multi-tenant integration.

No application-level redirect handling is required. The redirect is followed inside the gem before the application receives the token response.

Reproduction

A vulnerable application is one that uses OAuth::Consumer to perform an OAuth 1 token exchange against a token endpoint that can be made to return a redirect to another origin.

Example shape:

consumer = OAuth::Consumer.new(
  consumer_key,
  consumer_secret,
  site: "https://provider.example"
)

consumer.get_request_token

If https://provider.example/oauth/request_token responds with a 30x redirect whose Location points to https://attacker.example/..., affected versions may follow that redirect as part of the token request flow. The redirected request is then generated and signed by the application server for the new destination. Depending on the configured OAuth request scheme, OAuth 1 parameters may be sent in the Authorization header, request body, or query string.

Expected vulnerable behavior:

  • the token request leaves the configured OAuth provider origin;
  • the redirected host receives a signed OAuth 1 token request;
  • the application does not get a chance to inspect or approve the redirect target before the redirected request is sent.

Expected patched behavior:

  • same-origin redirects continue to work, subject to a redirect limit;
  • cross-origin token endpoint redirects are rejected by default;
  • applications that intentionally require cross-origin token redirects must opt in explicitly with token_request_cross_origin_redirects.

Suggested fix

Reject cross-origin token endpoint redirects by default and require explicit opt-in for integrations that intentionally depend on that behavior.

The fix released in v1.1.6 does the following:

current_uri = token_request_uri(path)
redirected_uri = token_request_redirect_uri(current_uri, response)
response.error! unless redirected_uri

redirect_count = request_options[:token_request_redirect_count].to_i + 1
response.error! if redirect_count > token_request_max_redirects(request_options)
response.error! if token_request_cross_origin?(current_uri, redirected_uri) &&
  !token_request_cross_origin_redirects?(request_options)

redirect_options = request_options.merge(token_request_redirect_count: redirect_count)
token_request(http_method, token_request_redirect_path(current_uri, redirected_uri), token, redirect_options, *arguments, &block)

The fix intentionally preserves same-origin redirect compatibility while making cross-origin token endpoint redirects an explicit choice. It also avoids placing internal redirect state in request_options passed to OAuth signing.

Workarounds

Until a patched release is available, applications can reduce exposure by doing one or more of the following:

  • Ensure configured OAuth token endpoints are fixed absolute URLs controlled by a trusted provider.
  • Do not use tenant-controlled OAuth token endpoint URLs unless the tenant is trusted to receive signed OAuth token requests.
  • Block outbound application-server traffic to internal metadata services and other sensitive internal addresses at the network layer.
  • Place a trusted proxy in front of OAuth providers that rejects token endpoint redirects to a different origin.

These mitigations reduce exploitability but do not remove the vulnerable redirect logic from the gem.

Credit

Found during the follow-up audit for GHSA-pp92-crg2-gfv9.

Reporter/coordinator: Peter H. Boling (pboling).

References

  • Related OAuth 2 advisory: https://github.com/ruby-oauth/oauth2/security/advisories/GHSA-pp92-crg2-gfv9
  • Fixed version: oauth v1.1.6
  • Behavior-introducing commit: https://github.com/ruby-oauth/oauth/commit/d74b767f
Show details on source website

{
  "affected": [
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 1.1.5"
      },
      "package": {
        "ecosystem": "RubyGems",
        "name": "oauth"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0.5.5"
            },
            {
              "fixed": "1.1.6"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-54605"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-200",
      "CWE-346",
      "CWE-918"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-07-28T16:27:11Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "# Cross-origin OAuth token-request redirects can expose signed request metadata\n\n## Summary\n\nWhen an application uses `OAuth::Consumer` to request OAuth 1.0 request tokens or\naccess tokens, the token request helper follows `300..399` redirects returned by\nthe OAuth server. In affected versions, `OAuth::Consumer#token_request` parses the\nraw `Location` header, follows the redirect recursively, and can mutate the\nconsumer\u0027s configured `site` when the redirect points to a different host with\nthe same path.\n\nThe result is a cross-origin signed-request disclosure primitive: if an OAuth\nserver token endpoint returns a redirect whose target an attacker controls, the\nclient can re-sign the token request and send OAuth 1.0 request metadata,\nincluding the OAuth signature, nonce, timestamp, consumer key, and any request\nparameters included in the signature base string, to the attacker-controlled\nhost. The same behavior can also be used as an SSRF or confused-deputy primitive\nbecause the application server follows the redirect and sends the next request\nfrom its own network position.\n\n## Affected\n\n- `oauth` v1.1.5 and prior versions back to and including v0.5.5.\n  - The cross-host token redirect behavior was introduced by\n    https://github.com/ruby-oauth/oauth/commit/d74b767f\n  - The behavior is documented in the v0.5.5 changelog as \"Allow redirect to\n    different host but same path\".\n- The vulnerable behavior is in `OAuth::Consumer#token_request`, which is used by\n  the documented request-token and access-token flows.\n- The issue is not specific to a Ruby engine or platform. It is caused by the\n  gem\u0027s redirect handling and recursive token request behavior.\n\nPatched version: `oauth` v1.1.6.\n\n## Impact\n\nA consumer that calls `OAuth::Consumer#get_request_token`,\n`OAuth::Consumer#get_access_token`, or lower-level token request helpers against\nan OAuth server whose token endpoint redirect target can be influenced may lose\nthree security properties:\n\n1. **Cross-origin signed-request metadata disclosure.** The redirected request is\n   signed for the attacker-controlled endpoint. Depending on the request method,\n   scheme, and parameters, the attacker may receive OAuth 1.0 parameters such as\n   `oauth_consumer_key`, `oauth_signature_method`, `oauth_timestamp`,\n   `oauth_nonce`, `oauth_version`, and `oauth_signature`.\n2. **SSRF from the application server.** The OAuth client follows the redirect on\n   behalf of the application, so the redirected host is contacted from the\n   application server\u0027s network position.\n3. **Confused-deputy behavior.** A malicious or compromised token endpoint can\n   cause an otherwise trusted application to initiate signed requests to an\n   unintended origin.\n\nThe disclosed OAuth 1 signature is not equivalent to an OAuth 2 bearer token: it\nis bound to the signed request, timestamp, nonce, HTTP method, and request URL.\nHowever, it can still disclose sensitive integration metadata, may be replayable\nwithin the receiver\u0027s accepted nonce/timestamp window in some deployments, and\ncan expose application-server reachability to attacker-selected hosts.\n\n## Vulnerable code\n\n[`lib/oauth/consumer.rb`](https://github.com/ruby-oauth/oauth/blob/v1.1.5/lib/oauth/consumer.rb)\nat tag `v1.1.5`:\n\n```ruby\ndef token_request(http_method, path, token = nil, request_options = {}, *arguments)\n  request_options[:token_request] ||= true\n  response = request(http_method, path, token, request_options, *arguments)\n  case response.code.to_i\n\n  when (200..299)\n    # parse token response\n  when (300..399)\n    # Parse redirect to follow\n    uri = URI.parse(response[\"location\"])\n    our_uri = URI.parse(site)\n\n    # Guard against infinite redirects\n    response.error! if uri.path == path \u0026\u0026 our_uri.host == uri.host\n\n    if uri.path == path \u0026\u0026 our_uri.host != uri.host\n      options[:site] = \"#{uri.scheme}://#{uri.host}\"\n      @http = create_http\n    end\n\n    token_request(http_method, uri.path, token, request_options, arguments)\n  when (400..499)\n    raise OAuth::Unauthorized, response\n  else\n    response.error!\n  end\nend\n```\n\nThe vulnerable behavior has several parts:\n\n- `response[\"location\"]` is trusted as the next token request target.\n- Redirects are followed for every `300..399` response.\n- There is no general redirect counter or maximum redirect limit.\n- Cross-host redirects with the same path can mutate `options[:site]` and rebuild\n  the underlying HTTP client.\n- The recursive call continues the token request flow and signs the next request\n  for the redirected destination.\n\n## Reachable in production\n\nThe vulnerable path is reachable through the normal OAuth 1 token exchange:\n\n```ruby\nconsumer = OAuth::Consumer.new(\n  consumer_key,\n  consumer_secret,\n  site: \"https://provider.example\"\n)\n\nrequest_token = consumer.get_request_token\n```\n\nIf `https://provider.example/oauth/request_token` returns a redirect to an\nattacker-controlled host, the library follows that redirect as part of the token\nrequest flow. A realistic trigger is an OAuth provider, gateway, or reverse proxy\nthat emits `Location` based on user-controlled or tenant-controlled input, or a\nmalicious tenant-controlled OAuth endpoint in a multi-tenant integration.\n\nNo application-level redirect handling is required. The redirect is followed\ninside the gem before the application receives the token response.\n\n## Reproduction\n\nA vulnerable application is one that uses `OAuth::Consumer` to perform an OAuth\n1 token exchange against a token endpoint that can be made to return a redirect\nto another origin.\n\nExample shape:\n\n```ruby\nconsumer = OAuth::Consumer.new(\n  consumer_key,\n  consumer_secret,\n  site: \"https://provider.example\"\n)\n\nconsumer.get_request_token\n```\n\nIf `https://provider.example/oauth/request_token` responds with a `30x` redirect\nwhose `Location` points to `https://attacker.example/...`, affected versions may\nfollow that redirect as part of the token request flow. The redirected request is\nthen generated and signed by the application server for the new destination.\nDepending on the configured OAuth request scheme, OAuth 1 parameters may be sent\nin the `Authorization` header, request body, or query string.\n\nExpected vulnerable behavior:\n\n- the token request leaves the configured OAuth provider origin;\n- the redirected host receives a signed OAuth 1 token request;\n- the application does not get a chance to inspect or approve the redirect target\n  before the redirected request is sent.\n\nExpected patched behavior:\n\n- same-origin redirects continue to work, subject to a redirect limit;\n- cross-origin token endpoint redirects are rejected by default;\n- applications that intentionally require cross-origin token redirects must opt\n  in explicitly with `token_request_cross_origin_redirects`.\n\n## Suggested fix\n\nReject cross-origin token endpoint redirects by default and require explicit\nopt-in for integrations that intentionally depend on that behavior.\n\nThe fix released in v1.1.6 does the following:\n\n```ruby\ncurrent_uri = token_request_uri(path)\nredirected_uri = token_request_redirect_uri(current_uri, response)\nresponse.error! unless redirected_uri\n\nredirect_count = request_options[:token_request_redirect_count].to_i + 1\nresponse.error! if redirect_count \u003e token_request_max_redirects(request_options)\nresponse.error! if token_request_cross_origin?(current_uri, redirected_uri) \u0026\u0026\n  !token_request_cross_origin_redirects?(request_options)\n\nredirect_options = request_options.merge(token_request_redirect_count: redirect_count)\ntoken_request(http_method, token_request_redirect_path(current_uri, redirected_uri), token, redirect_options, *arguments, \u0026block)\n```\n\nThe fix intentionally preserves same-origin redirect compatibility while making\ncross-origin token endpoint redirects an explicit choice. It also avoids placing\ninternal redirect state in `request_options` passed to OAuth signing.\n\n## Workarounds\n\nUntil a patched release is available, applications can reduce exposure by doing\none or more of the following:\n\n- Ensure configured OAuth token endpoints are fixed absolute URLs controlled by a\n  trusted provider.\n- Do not use tenant-controlled OAuth token endpoint URLs unless the tenant is\n  trusted to receive signed OAuth token requests.\n- Block outbound application-server traffic to internal metadata services and\n  other sensitive internal addresses at the network layer.\n- Place a trusted proxy in front of OAuth providers that rejects token endpoint\n  redirects to a different origin.\n\nThese mitigations reduce exploitability but do not remove the vulnerable redirect\nlogic from the gem.\n\n## Credit\n\nFound during the follow-up audit for `GHSA-pp92-crg2-gfv9`.\n\nReporter/coordinator: Peter H. Boling (`pboling`).\n\n## References\n\n- Related OAuth 2 advisory: https://github.com/ruby-oauth/oauth2/security/advisories/GHSA-pp92-crg2-gfv9\n- Fixed version: `oauth` v1.1.6\n- Behavior-introducing commit: https://github.com/ruby-oauth/oauth/commit/d74b767f",
  "id": "GHSA-prq8-7wvh-44qh",
  "modified": "2026-07-28T16:27:11Z",
  "published": "2026-07-28T16:27:11Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/ruby-oauth/oauth/security/advisories/GHSA-prq8-7wvh-44qh"
    },
    {
      "type": "WEB",
      "url": "https://github.com/ruby-oauth/oauth/commit/d069dc8c4c9631947451215f07460d6cdf0caf3f"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/ruby-oauth/oauth"
    },
    {
      "type": "WEB",
      "url": "https://github.com/ruby-oauth/oauth/releases/tag/v1.1.6"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "OAuth: Cross-origin token-request redirects can expose signed request metadata"
}

GHSA-PRQH-6JH9-2QR5

Vulnerability from github – Published: 2025-01-22 09:32 – Updated: 2025-01-22 09:32
VLAI
Details

The AI Power: Complete AI Pack plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.8.96 via the wpaicg_troubleshoot_add_vector(). This makes it possible for authenticated attackers, with subscriber-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2024-13360"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-01-22T08:15:08Z",
    "severity": "MODERATE"
  },
  "details": "The AI Power: Complete AI Pack plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.8.96 via the wpaicg_troubleshoot_add_vector(). This makes it possible for authenticated attackers, with subscriber-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services.",
  "id": "GHSA-prqh-6jh9-2qr5",
  "modified": "2025-01-22T09:32:01Z",
  "published": "2025-01-22T09:32:01Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-13360"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/changeset/3224162"
    },
    {
      "type": "WEB",
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/5cf6cbba-0e0c-4d2c-90d0-d7e0a5222df2?source=cve"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-PRVC-9RV9-3F72

Vulnerability from github – Published: 2026-08-07 18:31 – Updated: 2026-09-22 18:33
VLAI
Details

Nexus Repository 3 contains a Server-Side Request Forgery (SSRF) vulnerability in the email configuration verification feature. A user holding the nexus:settings:update permission could submit arbitrary host and port values to the email test/verification endpoint, causing the server to attempt outbound network connections to internal or otherwise restricted network addresses. Differences in the server's response could be used to infer whether internal hosts and ports are reachable. This issue affects Nexus Repository 3 CE/Pro versions up to and including 3.94.1, and is fixed in version 3.95.0.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-17597"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-08-07T17:17:00Z",
    "severity": "MODERATE"
  },
  "details": "Nexus Repository 3 contains a Server-Side Request Forgery (SSRF) vulnerability in the email configuration verification feature. A user holding the nexus:settings:update permission could submit arbitrary host and port values to the email test/verification endpoint, causing the server to attempt outbound network connections to internal or otherwise restricted network addresses. Differences in the server\u0027s response could be used to infer whether internal hosts and ports are reachable. This issue affects Nexus Repository 3 CE/Pro versions up to and including 3.94.1, and is fixed in version 3.95.0.",
  "id": "GHSA-prvc-9rv9-3f72",
  "modified": "2026-09-22T18:33:04Z",
  "published": "2026-08-07T18:31:44Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-17597"
    },
    {
      "type": "WEB",
      "url": "https://help.sonatype.com/en/sonatype-nexus-repository-3-95-0-release-notes.html"
    },
    {
      "type": "WEB",
      "url": "https://support.sonatype.com/hc/en-us/articles/53876968087955"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
      "type": "CVSS_V4"
    }
  ]
}

GHSA-PRVW-WJC6-4GF5

Vulnerability from github – Published: 2026-01-13 18:31 – Updated: 2026-01-14 15:32
VLAI
Details

Insecure permissions in Hubert Imoveis e Administracao Ltda Hub v2.0 1.27.3 allows authenticated attackers with low-level privileges to access other users' information via a crafted API request.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2025-65784"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-01-13T17:15:58Z",
    "severity": "MODERATE"
  },
  "details": "Insecure permissions in Hubert Imoveis e Administracao Ltda Hub v2.0 1.27.3 allows authenticated attackers with low-level privileges to access other users\u0027 information via a crafted API request.",
  "id": "GHSA-prvw-wjc6-4gf5",
  "modified": "2026-01-14T15:32:59Z",
  "published": "2026-01-13T18:31:07Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-65784"
    },
    {
      "type": "WEB",
      "url": "https://github.com/carlos-artmann/vulnerability-research/tree/main/CVE-2025-65784"
    },
    {
      "type": "WEB",
      "url": "http://hub.com"
    },
    {
      "type": "WEB",
      "url": "http://hubert.com"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-PRWC-W88M-JPV7

Vulnerability from github – Published: 2026-08-04 18:31 – Updated: 2026-08-04 18:31
VLAI
Details

NVIDIA Dynamo for Linux contains a vulnerability where an attacker may cause improper limitation of a pathname to a restricted directory by supplying a crafted local path in a multimodal request. A successful exploit of this vulnerability might lead to information disclosure.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-47613"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-08-04T18:16:50Z",
    "severity": "HIGH"
  },
  "details": "NVIDIA Dynamo for Linux contains a vulnerability where an attacker may cause improper limitation of a pathname to a restricted directory by supplying a crafted local path in a multimodal request. A successful exploit of this vulnerability might lead to information disclosure.",
  "id": "GHSA-prwc-w88m-jpv7",
  "modified": "2026-08-04T18:31:29Z",
  "published": "2026-08-04T18:31:29Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-47613"
    },
    {
      "type": "WEB",
      "url": "https://github.com/NVIDIA/product-security/tree/main/2026/5842"
    },
    {
      "type": "WEB",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-47613"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-PVC8-V7RQ-QGMP

Vulnerability from github – Published: 2025-08-26 00:31 – Updated: 2025-08-26 00:31
VLAI
Details

A vulnerability was found in kalcaddle kodbox 1.61. Affected by this vulnerability is an unknown functionality of the file /?explorer/upload/serverDownload of the component Download from Link Handler. Performing manipulation of the argument url results in server-side request forgery. Remote exploitation of the attack is possible. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2025-9414"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-08-25T19:15:32Z",
    "severity": "MODERATE"
  },
  "details": "A vulnerability was found in kalcaddle kodbox 1.61. Affected by this vulnerability is an unknown functionality of the file /?explorer/upload/serverDownload of the component Download from Link Handler. Performing manipulation of the argument url results in server-side request forgery. Remote exploitation of the attack is possible. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.",
  "id": "GHSA-pvc8-v7rq-qgmp",
  "modified": "2025-08-26T00:31:14Z",
  "published": "2025-08-26T00:31:14Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-9414"
    },
    {
      "type": "WEB",
      "url": "https://gist.github.com/SysEternals/a03d45b582451f243f9c24076593c49c"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/?ctiid.321256"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/?id.321256"
    },
    {
      "type": "WEB",
      "url": "https://vuldb.com/?submit.633727"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
      "type": "CVSS_V4"
    }
  ]
}

GHSA-PVCJ-PG6X-H564

Vulnerability from github – Published: 2023-10-10 03:30 – Updated: 2024-04-04 08:26
VLAI
Details

SAP NetWeaver AS Java (GRMG Heartbeat application) - version 7.50, allows an attacker to send a crafted request from a vulnerable web application, causing limited impact on confidentiality and integrity of the application.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2023-42477"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2023-10-10T02:15:11Z",
    "severity": "MODERATE"
  },
  "details": "SAP NetWeaver AS Java (GRMG Heartbeat application) - version 7.50,\u00a0allows an attacker to send a crafted request from a vulnerable web application, causing limited impact on confidentiality and integrity of the application.\n\n",
  "id": "GHSA-pvcj-pg6x-h564",
  "modified": "2024-04-04T08:26:58Z",
  "published": "2023-10-10T03:30:28Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-42477"
    },
    {
      "type": "WEB",
      "url": "https://me.sap.com/notes/3333426"
    },
    {
      "type": "WEB",
      "url": "https://www.sap.com/documents/2022/02/fa865ea4-167e-0010-bca6-c68f7e60039b.html"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-PVFV-6672-6XQP

Vulnerability from github – Published: 2026-09-16 21:32 – Updated: 2026-09-17 18:31
VLAI
Details

A Server-Side Request Forgery vulnerability exists in sat_proxy.php in Zenith Satellite Tracker 1.0. The script accepts an attacker-controlled address URL parameter and passes it to curl_setopt(CURLOPT_URL) without host or scheme validation. An unauthenticated remote attacker can leverage this to make arbitrary HTTP and HTTPS requests from the server to internal networks or cloud metadata services, potentially obtaining sensitive information or pivoting to further attacks.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2025-56563"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-918"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-09-16T21:17:06Z",
    "severity": "CRITICAL"
  },
  "details": "A Server-Side Request Forgery vulnerability exists in sat_proxy.php in Zenith Satellite Tracker 1.0. The script accepts an attacker-controlled address URL parameter and passes it to curl_setopt(CURLOPT_URL) without host or scheme validation. An unauthenticated remote attacker can leverage this to make arbitrary HTTP and HTTPS requests from the server to internal networks or cloud metadata services, potentially obtaining sensitive information or pivoting to further attacks.",
  "id": "GHSA-pvfv-6672-6xqp",
  "modified": "2026-09-17T18:31:46Z",
  "published": "2026-09-16T21:32:48Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-56563"
    },
    {
      "type": "WEB",
      "url": "https://github.com/RIFTI-Offensive-Security/security-advisories/blob/main/CVE-2025-56563.md"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}

No mitigation information available for this CWE.

CAPEC-664: Server Side Request Forgery

An adversary exploits improper input validation by submitting maliciously crafted input to a target application running on a server, with the goal of forcing the server to make a request either to itself, to web services running in the server’s internal network, or to external third parties. If successful, the adversary’s request will be made with the server’s privilege level, bypassing its authentication controls. This ultimately allows the adversary to access sensitive data, execute commands on the server’s network, and make external requests with the stolen identity of the server. Server Side Request Forgery attacks differ from Cross Site Request Forgery attacks in that they target the server itself, whereas CSRF attacks exploit an insecure user authentication mechanism to perform unauthorized actions on the user's behalf.