CWE-918
AllowedServer-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.
4726 vulnerabilities reference this CWE, most recent first.
GHSA-H2X6-G7Q6-344V
Vulnerability from github – Published: 2026-07-21 20:37 – Updated: 2026-07-21 20:37Summary
Gitea's repository migration URL validation can be bypassed when a migration hostname resolves to multiple IP addresses. The validation logic accepts the destination if any resolved IP is allowed, even if another resolved IP is loopback, private, or otherwise blocked. The later git clone operation resolves the hostname again outside of that validation decision, so it can connect to the internal address.
An authenticated low-privilege user who can create repository migrations can use an attacker-controlled DNS name to make Gitea connect to internal-only Git services and import their contents into a repository controlled by the attacker.
Details
The issue is in services/migrations/migrate.go, in the migration allow/block-list check.
Current logic computes whether any resolved IP is allowed:
var ipAllowed bool
var ipBlocked bool
for _, addr := range addrList {
ipAllowed = ipAllowed || allowList.MatchIPAddr(addr)
ipBlocked = ipBlocked || blockList.MatchIPAddr(addr)
}
Then, when an allow-list is active, the host is accepted if the hostname matches or ipAllowed is true:
if !allowList.IsEmpty() {
if !allowList.MatchHostName(hostName) && !ipAllowed {
return &git.ErrInvalidCloneAddr{Host: hostName, IsPermissionDenied: true}
}
}
This means a hostname resolving to both:
- an allowed public IP, e.g.
1.2.3.4 - a blocked internal IP, e.g.
127.0.0.1
passes validation because the public IP sets ipAllowed = true.
The actual repository import is later performed by git clone --mirror via MigrateRepositoryGitData / gitrepo.CloneExternalRepo. That git subprocess performs its own DNS resolution and is not tied to the specific IP set that was validated earlier. If the hostname resolves, rotates, or is re-bound to the internal address at clone time, Gitea can connect to a destination the migration filter would reject if supplied directly.
The direct internal URL is correctly blocked, but the multi-answer hostname is accepted.
PoC
I verified the vulnerable predicate locally against Gitea checkout:
e8654c7e062431a521636703f47339cde64644fd
using Dockerized Go tests with golang:1.26.4.
The local test proves:
checkByAllowBlockList("loopback.example.test", [127.0.0.1])is rejected.checkByAllowBlockList("mixed.example.test", [1.2.3.4, 127.0.0.1])is accepted.
Minimal reproducer at the validation layer:
func TestMigrationMultiAnswerAnyAllowed(t *testing.T) {
old := setting.Migrations
t.Cleanup(func() { setting.Migrations = old })
setting.Migrations.AllowedDomains = ""
setting.Migrations.BlockedDomains = ""
setting.Migrations.AllowLocalNetworks = false
require.NoError(t, Init())
err := checkByAllowBlockList("mixed.example.test", []net.IP{
net.ParseIP("1.2.3.4"),
net.ParseIP("127.0.0.1"),
})
require.NoError(t, err, "mixed public+loopback answers should currently pass")
err = checkByAllowBlockList("loopback.example.test", []net.IP{
net.ParseIP("127.0.0.1"),
})
require.Error(t, err, "loopback-only answer should be rejected")
}
To reproduce end-to-end:
- Run Gitea with repository migration enabled and
ALLOW_LOCALNETWORKS = false. - Create a normal non-admin user that can create repositories.
- Run an internal Git HTTP service reachable only from the Gitea server, for example on
127.0.0.1:18082. - Configure an attacker-controlled hostname so that DNS can return both a public address and
127.0.0.1, or can return a public address during Gitea's pre-flight validation and127.0.0.1during the later git clone. - Confirm the direct internal migration is rejected:
curl -X POST http://GITEA/api/v1/repos/migrate \
-H "Authorization: token USER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clone_addr": "http://127.0.0.1:18082/repo.git",
"repo_name": "direct-internal",
"service": "git",
"private": true
}'
Expected direct result:
{"message":"You can not import from disallowed hosts."}
- Start a migration from the attacker-controlled multi-answer hostname:
curl -X POST http://GITEA/api/v1/repos/migrate \
-H "Authorization: token USER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clone_addr": "http://mixed.example.test:18082/repo.git",
"repo_name": "multidns-ssrf",
"service": "git",
"private": true
}'
Expected vulnerable result:
- The migration request is accepted.
- The git subprocess can connect to the internal address.
- Internal repository contents are imported into the attacker's new Gitea repository.
Impact
This is a server-side request forgery in repository migration.
An authenticated user with permission to create repository migrations can make the Gitea server connect to internal-only network resources that are normally blocked by the migration SSRF filter. If the internal service is a Git repository or Git-compatible HTTP endpoint, its contents can be imported into an attacker-controlled repository and exfiltrated.
Potentially impacted resources include:
- internal Git repositories
- localhost-only services
- private network source-control services
- metadata or internal infrastructure endpoints if reachable and compatible with the request path
The direct internal destination is rejected, but a multi-answer or rebindable DNS name can pass validation and later resolve to the internal address during the clone operation.
Suggested fix
The migration allow/block-list check should fail closed for multi-answer DNS:
- reject if any resolved IP is blocked
- require all resolved IPs to be allowed when an allow-list is active
- treat an empty resolution result as not IP-allowed
- ideally enforce the same destination policy at connection time, not only during pre-flight validation, to avoid DNS TOCTOU between validation and
git clone
For example, instead of ipAllowed = ipAllowed || allowList.MatchIPAddr(addr), initialize ipAllowed to len(addrList) > 0 and combine with logical AND:
ipAllowed := len(addrList) > 0
ipBlocked := false
for _, addr := range addrList {
ipAllowed = ipAllowed && allowList.MatchIPAddr(addr)
ipBlocked = ipBlocked || blockList.MatchIPAddr(addr)
}
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "code.gitea.io/gitea"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.27.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-58442"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2026-07-21T20:37:45Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Summary\n\nGitea\u0027s repository migration URL validation can be bypassed when a migration hostname resolves to multiple IP addresses. The validation logic accepts the destination if **any** resolved IP is allowed, even if another resolved IP is loopback, private, or otherwise blocked. The later `git clone` operation resolves the hostname again outside of that validation decision, so it can connect to the internal address.\n\nAn authenticated low-privilege user who can create repository migrations can use an attacker-controlled DNS name to make Gitea connect to internal-only Git services and import their contents into a repository controlled by the attacker.\n\n### Details\n\nThe issue is in `services/migrations/migrate.go`, in the migration allow/block-list check.\n\nCurrent logic computes whether any resolved IP is allowed:\n\n```go\nvar ipAllowed bool\nvar ipBlocked bool\nfor _, addr := range addrList {\n ipAllowed = ipAllowed || allowList.MatchIPAddr(addr)\n ipBlocked = ipBlocked || blockList.MatchIPAddr(addr)\n}\n```\n\nThen, when an allow-list is active, the host is accepted if the hostname matches or `ipAllowed` is true:\n\n```go\nif !allowList.IsEmpty() {\n if !allowList.MatchHostName(hostName) \u0026\u0026 !ipAllowed {\n return \u0026git.ErrInvalidCloneAddr{Host: hostName, IsPermissionDenied: true}\n }\n}\n```\n\nThis means a hostname resolving to both:\n\n- an allowed public IP, e.g. `1.2.3.4`\n- a blocked internal IP, e.g. `127.0.0.1`\n\npasses validation because the public IP sets `ipAllowed = true`.\n\nThe actual repository import is later performed by `git clone --mirror` via `MigrateRepositoryGitData` / `gitrepo.CloneExternalRepo`. That git subprocess performs its own DNS resolution and is not tied to the specific IP set that was validated earlier. If the hostname resolves, rotates, or is re-bound to the internal address at clone time, Gitea can connect to a destination the migration filter would reject if supplied directly.\n\nThe direct internal URL is correctly blocked, but the multi-answer hostname is accepted.\n\n### PoC\n\nI verified the vulnerable predicate locally against Gitea checkout:\n\n```text\ne8654c7e062431a521636703f47339cde64644fd\n```\n\nusing Dockerized Go tests with `golang:1.26.4`.\n\nThe local test proves:\n\n- `checkByAllowBlockList(\"loopback.example.test\", [127.0.0.1])` is rejected.\n- `checkByAllowBlockList(\"mixed.example.test\", [1.2.3.4, 127.0.0.1])` is accepted.\n\nMinimal reproducer at the validation layer:\n\n```go\nfunc TestMigrationMultiAnswerAnyAllowed(t *testing.T) {\n old := setting.Migrations\n t.Cleanup(func() { setting.Migrations = old })\n\n setting.Migrations.AllowedDomains = \"\"\n setting.Migrations.BlockedDomains = \"\"\n setting.Migrations.AllowLocalNetworks = false\n require.NoError(t, Init())\n\n err := checkByAllowBlockList(\"mixed.example.test\", []net.IP{\n net.ParseIP(\"1.2.3.4\"),\n net.ParseIP(\"127.0.0.1\"),\n })\n require.NoError(t, err, \"mixed public+loopback answers should currently pass\")\n\n err = checkByAllowBlockList(\"loopback.example.test\", []net.IP{\n net.ParseIP(\"127.0.0.1\"),\n })\n require.Error(t, err, \"loopback-only answer should be rejected\")\n}\n```\n\nTo reproduce end-to-end:\n\n1. Run Gitea with repository migration enabled and `ALLOW_LOCALNETWORKS = false`.\n2. Create a normal non-admin user that can create repositories.\n3. Run an internal Git HTTP service reachable only from the Gitea server, for example on `127.0.0.1:18082`.\n4. Configure an attacker-controlled hostname so that DNS can return both a public address and `127.0.0.1`, or can return a public address during Gitea\u0027s pre-flight validation and `127.0.0.1` during the later git clone.\n5. Confirm the direct internal migration is rejected:\n\n```bash\ncurl -X POST http://GITEA/api/v1/repos/migrate \\\n -H \"Authorization: token USER_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d \u0027{\n \"clone_addr\": \"http://127.0.0.1:18082/repo.git\",\n \"repo_name\": \"direct-internal\",\n \"service\": \"git\",\n \"private\": true\n }\u0027\n```\n\nExpected direct result:\n\n```json\n{\"message\":\"You can not import from disallowed hosts.\"}\n```\n\n6. Start a migration from the attacker-controlled multi-answer hostname:\n\n```bash\ncurl -X POST http://GITEA/api/v1/repos/migrate \\\n -H \"Authorization: token USER_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d \u0027{\n \"clone_addr\": \"http://mixed.example.test:18082/repo.git\",\n \"repo_name\": \"multidns-ssrf\",\n \"service\": \"git\",\n \"private\": true\n }\u0027\n```\n\nExpected vulnerable result:\n\n- The migration request is accepted.\n- The git subprocess can connect to the internal address.\n- Internal repository contents are imported into the attacker\u0027s new Gitea repository.\n\n### Impact\n\nThis is a server-side request forgery in repository migration.\n\nAn authenticated user with permission to create repository migrations can make the Gitea server connect to internal-only network resources that are normally blocked by the migration SSRF filter. If the internal service is a Git repository or Git-compatible HTTP endpoint, its contents can be imported into an attacker-controlled repository and exfiltrated.\n\nPotentially impacted resources include:\n\n- internal Git repositories\n- localhost-only services\n- private network source-control services\n- metadata or internal infrastructure endpoints if reachable and compatible with the request path\n\nThe direct internal destination is rejected, but a multi-answer or rebindable DNS name can pass validation and later resolve to the internal address during the clone operation.\n\n### Suggested fix\n\nThe migration allow/block-list check should fail closed for multi-answer DNS:\n\n- reject if **any** resolved IP is blocked\n- require **all** resolved IPs to be allowed when an allow-list is active\n- treat an empty resolution result as not IP-allowed\n- ideally enforce the same destination policy at connection time, not only during pre-flight validation, to avoid DNS TOCTOU between validation and `git clone`\n\nFor example, instead of `ipAllowed = ipAllowed || allowList.MatchIPAddr(addr)`, initialize `ipAllowed` to `len(addrList) \u003e 0` and combine with logical AND:\n\n```go\nipAllowed := len(addrList) \u003e 0\nipBlocked := false\nfor _, addr := range addrList {\n ipAllowed = ipAllowed \u0026\u0026 allowList.MatchIPAddr(addr)\n ipBlocked = ipBlocked || blockList.MatchIPAddr(addr)\n}\n```",
"id": "GHSA-h2x6-g7q6-344v",
"modified": "2026-07-21T20:37:45Z",
"published": "2026-07-21T20:37:45Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/go-gitea/gitea/security/advisories/GHSA-h2x6-g7q6-344v"
},
{
"type": "PACKAGE",
"url": "https://github.com/go-gitea/gitea"
},
{
"type": "WEB",
"url": "https://github.com/go-gitea/gitea/releases/tag/v1.27.0"
}
],
"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"
}
],
"summary": "Gitea: Repository migration SSRF via multi-answer DNS allow-list bypass"
}
GHSA-H34J-F5R2-PCX7
Vulnerability from github – Published: 2022-05-24 17:09 – Updated: 2022-05-24 17:09An issue was discovered in Zoho ManageEngine Remote Access Plus 10.0.447. The service to test the mail-server configuration suffers from an authorization issue allowing a user with the Guest role (read-only access) to use and abuse it. One of the abuses allows performing network and port scan operations of the localhost or the hosts on the same network segment, aka SSRF.
{
"affected": [],
"aliases": [
"CVE-2019-20474"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-02-17T19:15:00Z",
"severity": "MODERATE"
},
"details": "An issue was discovered in Zoho ManageEngine Remote Access Plus 10.0.447. The service to test the mail-server configuration suffers from an authorization issue allowing a user with the Guest role (read-only access) to use and abuse it. One of the abuses allows performing network and port scan operations of the localhost or the hosts on the same network segment, aka SSRF.",
"id": "GHSA-h34j-f5r2-pcx7",
"modified": "2022-05-24T17:09:09Z",
"published": "2022-05-24T17:09:09Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-20474"
},
{
"type": "WEB",
"url": "https://excellium-services.com/cert-xlm-advisory/cve-2019-20474"
},
{
"type": "WEB",
"url": "https://www.manageengine.com/remote-desktop-management/knowledge-base/authorization-failure.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-H39H-7CVG-Q7J6
Vulnerability from github – Published: 2026-02-25 18:57 – Updated: 2026-02-25 18:57Vulnerability Type
Authenticated Server-Side Request Forgery (SSRF)
Affected Product/Versions
AVideo versions prior to 22 (tested on AVideo 21.x).
Root Cause Summary
The aVideoEncoder.json.php API endpoint accepts a downloadURL parameter and fetches the referenced resource server-side without proper validation or an allow-list. This allows authenticated users to trigger server-side requests to arbitrary URLs (including internal network endpoints).
Impact Summary
An authenticated attacker can leverage SSRF to interact with internal services and retrieve sensitive data (e.g., internal APIs, metadata services), potentially leading to further compromise depending on the deployment environment.
Resolution/Fix
This issue has been fixed in AVideo version 22. Users should upgrade to version 22.0 as soon as possible.
Credits/Acknowledgement
Thanks to Arkadiusz Marta for responsibly reporting this issue. - GitHub Profile: https://github.com/arkmarta/
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "wwbn/avideo"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "21.0.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-27732"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-25T18:57:05Z",
"nvd_published_at": "2026-02-24T15:21:39Z",
"severity": "HIGH"
},
"details": "### Vulnerability Type\nAuthenticated Server-Side Request Forgery (SSRF)\n\n### Affected Product/Versions\nAVideo versions prior to 22 (tested on AVideo 21.x).\n\n### Root Cause Summary\nThe `aVideoEncoder.json.php` API endpoint accepts a `downloadURL` parameter and fetches the referenced resource server-side without proper validation or an allow-list. This allows authenticated users to trigger server-side requests to arbitrary URLs (including internal network endpoints).\n\n### Impact Summary\nAn authenticated attacker can leverage SSRF to interact with internal services and retrieve sensitive data (e.g., internal APIs, metadata services), potentially leading to further compromise depending on the deployment environment.\n\n### Resolution/Fix\nThis issue has been fixed in AVideo version 22. Users should upgrade to version 22.0 as soon as possible.\n\n### Credits/Acknowledgement\nThanks to Arkadiusz Marta for responsibly reporting this issue.\n- GitHub Profile: https://github.com/arkmarta/",
"id": "GHSA-h39h-7cvg-q7j6",
"modified": "2026-02-25T18:57:05Z",
"published": "2026-02-25T18:57:05Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-h39h-7cvg-q7j6"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-27732"
},
{
"type": "WEB",
"url": "https://github.com/WWBN/AVideo/commit/384ef2548093f4cbb1bfac00f1f429fe57fab853"
},
{
"type": "PACKAGE",
"url": "https://github.com/WWBN/AVideo"
},
{
"type": "WEB",
"url": "https://github.com/WWBN/AVideo/releases/tag/22.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "AVideo has Authenticated Server-Side Request Forgery via downloadURL in aVideoEncoder.json.php"
}
GHSA-H3MQ-GV39-G8GH
Vulnerability from github – Published: 2025-10-05 09:30 – Updated: 2025-10-05 09:30A vulnerability was determined in samanhappy MCPHub up to 0.9.10. This affects an unknown part of the file src/controllers/serverController.ts of the component MCPRouter Service. This manipulation of the argument baseUrl causes server-side request forgery. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. The vendor was contacted early about this disclosure but did not respond in any way.
{
"affected": [],
"aliases": [
"CVE-2025-11286"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-10-05T07:15:31Z",
"severity": "MODERATE"
},
"details": "A vulnerability was determined in samanhappy MCPHub up to 0.9.10. This affects an unknown part of the file src/controllers/serverController.ts of the component MCPRouter Service. This manipulation of the argument baseUrl causes server-side request forgery. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. The vendor was contacted early about this disclosure but did not respond in any way.",
"id": "GHSA-h3mq-gv39-g8gh",
"modified": "2025-10-05T09:30:19Z",
"published": "2025-10-05T09:30:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-11286"
},
{
"type": "WEB",
"url": "https://github.com/August829/YU1/issues/7"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.327044"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.327044"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.659744"
}
],
"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-H3QP-HWVR-9XCQ
Vulnerability from github – Published: 2025-06-26 18:53 – Updated: 2025-06-26 18:53Summary
Octo-STS versions before v0.5.3 are vulnerable to unauthenticated SSRF by abusing fields in OpenID Connect tokens. Malicious tokens were shown to trigger internal network requests which could reflect error logs with sensitive information.
Please upgrade to v0.5.3 to resolve this issue. This version includes patch sets to sanitize input and redact logging.
Many thanks to @vicevirus for reporting this issue and for assisting with remediation review.
References
- https://github.com/octo-sts/app/security/advisories/GHSA-h3qp-hwvr-9xcq
- https://github.com/octo-sts/app/commit/b3976e39bd8c8c217c0670747d34a4499043da92
- https://github.com/octo-sts/app/commit/0f177fde54f9318e33f0bba6abaea9463a7c3afd
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 0.5.2"
},
"package": {
"ecosystem": "Go",
"name": "github.com/octo-sts/app"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.5.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-52477"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2025-06-26T18:53:54Z",
"nvd_published_at": "2025-06-26T17:15:30Z",
"severity": "HIGH"
},
"details": "## Summary\n\nOcto-STS versions before v0.5.3 are vulnerable to unauthenticated SSRF by abusing fields in OpenID Connect tokens. Malicious tokens were shown to trigger internal network requests which could reflect error logs with sensitive information. \n\nPlease upgrade to v0.5.3 to resolve this issue. This version includes patch sets to [sanitize input](https://github.com/octo-sts/app/commit/b3976e39bd8c8c217c0670747d34a4499043da92) and [redact logging](https://github.com/octo-sts/app/commit/0f177fde54f9318e33f0bba6abaea9463a7c3afd).\n\nMany thanks to @vicevirus for reporting this issue and for assisting with remediation review.\n\n## References\n\n- https://github.com/octo-sts/app/security/advisories/GHSA-h3qp-hwvr-9xcq\n- https://github.com/octo-sts/app/commit/b3976e39bd8c8c217c0670747d34a4499043da92\n- https://github.com/octo-sts/app/commit/0f177fde54f9318e33f0bba6abaea9463a7c3afd",
"id": "GHSA-h3qp-hwvr-9xcq",
"modified": "2025-06-26T18:53:54Z",
"published": "2025-06-26T18:53:54Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/octo-sts/app/security/advisories/GHSA-h3qp-hwvr-9xcq"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-52477"
},
{
"type": "WEB",
"url": "https://github.com/octo-sts/app/commit/0f177fde54f9318e33f0bba6abaea9463a7c3afd"
},
{
"type": "WEB",
"url": "https://github.com/octo-sts/app/commit/b3976e39bd8c8c217c0670747d34a4499043da92"
},
{
"type": "PACKAGE",
"url": "https://github.com/octo-sts/app"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Octo STS Unauthenticated SSRF by abusing fields in OpenID Connect tokens"
}
GHSA-H3W6-J9VX-XH22
Vulnerability from github – Published: 2026-06-26 15:32 – Updated: 2026-06-26 15:32Subscriber Server Side Request Forgery (SSRF) in utm.codes <= 1.9.0 versions.
{
"affected": [],
"aliases": [
"CVE-2026-56026"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-26T15:16:42Z",
"severity": "MODERATE"
},
"details": "Subscriber Server Side Request Forgery (SSRF) in utm.codes \u003c= 1.9.0 versions.",
"id": "GHSA-h3w6-j9vx-xh22",
"modified": "2026-06-26T15:32:16Z",
"published": "2026-06-26T15:32:16Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-56026"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/utm-dot-codes/vulnerability/wordpress-utm-codes-plugin-1-9-0-server-side-request-forgery-ssrf-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H3WV-47XM-4MG6
Vulnerability from github – Published: 2018-10-19 16:51 – Updated: 2022-09-14 19:16The SVG Salamander (aka svgSalamander) library, when used in a web application, allows remote attackers to conduct server-side request forgery (SSRF) attacks via an xlink:href attribute in an SVG file.
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "com.kitfox.svg:svg-salamander"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.1.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2017-5617"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2020-06-16T21:38:36Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "The SVG Salamander (aka svgSalamander) library, when used in a web application, allows remote attackers to conduct server-side request forgery (SSRF) attacks via an xlink:href attribute in an SVG file.",
"id": "GHSA-h3wv-47xm-4mg6",
"modified": "2022-09-14T19:16:41Z",
"published": "2018-10-19T16:51:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-5617"
},
{
"type": "WEB",
"url": "https://github.com/blackears/svgSalamander/issues/11"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-h3wv-47xm-4mg6"
},
{
"type": "PACKAGE",
"url": "https://github.com/blackears/svgSalamander"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3V7RIIO3HO4RNDBN2PARLIDAL3RPV2OX"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UPUOI6NCEB6H6YHKN7M4V3CAQD63NXAU"
},
{
"type": "WEB",
"url": "https://security.gentoo.org/glsa/202003-11"
},
{
"type": "WEB",
"url": "http://www.debian.org/security/2017/dsa-3781"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2017/01/27/3"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2017/01/29/2"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/95871"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Server Side Request Forgery in svgSalamander"
}
GHSA-H45W-7H64-7676
Vulnerability from github – Published: 2026-04-08 09:31 – Updated: 2026-04-13 21:30Server-Side Request Forgery (SSRF) vulnerability in Global Payments GlobalPayments WooCommerce global-payments-woocommerce allows Server Side Request Forgery.This issue affects GlobalPayments WooCommerce: from n/a through <= 1.18.0.
{
"affected": [],
"aliases": [
"CVE-2026-39645"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-08T09:16:35Z",
"severity": "MODERATE"
},
"details": "Server-Side Request Forgery (SSRF) vulnerability in Global Payments GlobalPayments WooCommerce global-payments-woocommerce allows Server Side Request Forgery.This issue affects GlobalPayments WooCommerce: from n/a through \u003c= 1.18.0.",
"id": "GHSA-h45w-7h64-7676",
"modified": "2026-04-13T21:30:36Z",
"published": "2026-04-08T09:31:34Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-39645"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/Wordpress/Plugin/global-payments-woocommerce/vulnerability/wordpress-globalpayments-woocommerce-plugin-1-18-0-server-side-request-forgery-ssrf-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H485-JR3P-6H83
Vulnerability from github – Published: 2022-05-24 17:34 – Updated: 2023-11-16 15:30External entity attack vulnerability in the ePO extension in McAfee MVISION Endpoint prior to 20.11 allows remote attackers to gain control of a resource or trigger arbitrary code execution via improper input validation of an HTTP request, where the content for the attack has been loaded into ePO by an ePO administrator.
{
"affected": [],
"aliases": [
"CVE-2020-7328"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-11-11T09:15:00Z",
"severity": "HIGH"
},
"details": "External entity attack vulnerability in the ePO extension in McAfee MVISION Endpoint prior to 20.11 allows remote attackers to gain control of a resource or trigger arbitrary code execution via improper input validation of an HTTP request, where the content for the attack has been loaded into ePO by an ePO administrator.",
"id": "GHSA-h485-jr3p-6h83",
"modified": "2023-11-16T15:30:19Z",
"published": "2022-05-24T17:34:07Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-7328"
},
{
"type": "WEB",
"url": "https://kc.mcafee.com/corporate/index?page=content\u0026id=SB10334"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-H4CP-XWQQ-M567
Vulnerability from github – Published: 2022-05-24 19:12 – Updated: 2025-09-19 18:31Adobe Experience Manager Cloud Service offering, as well as versions 6.5.8.0 (and below) is affected by a Server-side Request Forgery. An authenticated attacker could leverage this vulnerability to contact systems blocked by the dispatcher. Exploitation of this issue does not require user interaction.
{
"affected": [],
"aliases": [
"CVE-2021-28627"
],
"database_specific": {
"cwe_ids": [
"CWE-918"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-08-24T18:15:00Z",
"severity": "MODERATE"
},
"details": "Adobe Experience Manager Cloud Service offering, as well as versions 6.5.8.0 (and below) is affected by a Server-side Request Forgery. An authenticated attacker could leverage this vulnerability to contact systems blocked by the dispatcher. Exploitation of this issue does not require user interaction.",
"id": "GHSA-h4cp-xwqq-m567",
"modified": "2025-09-19T18:31:13Z",
"published": "2022-05-24T19:12:01Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-28627"
},
{
"type": "WEB",
"url": "https://helpx.adobe.com/security/products/experience-manager/apsb21-39.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/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.