GHSA-6XVF-4VH9-MW47
Vulnerability from github – Published: 2025-11-20 21:57 – Updated: 2025-11-20 21:57
VLAI?
Summary
Minder does not sandbox http.send in Rego programs
Details
Impact
Minder users may fetch content in the context of the Minder server, which may include URLs which the user would not normally have access to (for example, if the Minder server is behind a firewall or other network partition).
Patches
https://github.com/mindersec/minder/commit/f770400923984649a287d7215410ef108e845af8
Workarounds
Users should avoid deploying Minder with access to sensitive resources. Unfortunately, this could include access to systems like OpenFGA or Keycloak, depending on the deployment configuration.
References
Sample ruletype:
version: v1
type: rule-type
name: test-http-send
display_name: Test that we can call http.send
short_failure_message: Failed http.send
severity:
value: medium
context:
provider: github
description: |
...
guidance: |
....
def:
in_entity: repository
rule_schema:
type: object
properties: {}
ingest:
type: git
git: {}
eval:
type: rego
violation_format: text
rego:
type: constraints
def: |
package minder
import rego.v1
violations contains {"msg": "Check-execution"}
resp := http.send({
"method": "GET",
"url": "http://openfga:8080/",
"raise_error": false,
})
violations contains {"msg": sprintf("Response: %s", [resp.status])}
details := sprintf("High score: %s", [resp.body.summary])
violations contains {"msg": sprintf("Response body: %s", [resp.body]) } if {
resp.status_code > 0
}
Example policy:
version: v1
type: profile
name: Test-HTTP-send
display_name: Test if we can do http.send
context:
provider: github
alert: "off"
remediate: "off"
repository:
- type: test-http-send
def: {}
Evaluation results:
$ minder profile status list -n test-http-send --json
{
"profileStatus": {
"profileId": "3b3e0918-4deb-49cc-b4c9-1d1d912cf784",
"profileName": "Test-HTTP-send",
"profileStatus": "failure",
"lastUpdated": "2024-10-31T03:44:01.456359Z"
},
"ruleEvaluationStatus": [
{
"profileId": "3b3e0918-4deb-49cc-b4c9-1d1d912cf784",
"ruleId": "c0ebac2c-cfe2-4a98-b0a6-d6971209653e",
"ruleName": "test-http-send",
"entity": "repository",
"status": "failure",
"lastUpdated": "2024-10-31T03:44:01.456359Z",
"entityInfo": {
"entity_id": "a7f7a4bc-4430-4e9a-86a9-ffa026db6343",
"entity_type": "repository",
"name": "a-random-sandbox/colorls",
"provider": "github-app-a-random-sandbox",
"repo_name": "colorls",
"repo_owner": "a-random-sandbox",
"repository_id": "a7f7a4bc-4430-4e9a-86a9-ffa026db6343"
},
"details": "Multiple issues:\n* Check-execution\n* Response body: {\"code\": \"undefined_endpoint\", \"message\": \"Not Found\"}\n* Response: 404 Not Found\n",
"guidance": "....\n",
"remediationStatus": "skipped",
"remediationLastUpdated": "2024-10-31T03:44:01.456359Z",
"ruleTypeName": "test-http-send",
"ruleDescriptionName": "Test that we can call http.send",
"alert": {
"status": "skipped",
"lastUpdated": "2024-10-31T03:44:01.456359Z"
},
"ruleDisplayName": "Test that we can call http.send",
"releasePhase": "RULE_TYPE_RELEASE_PHASE_ALPHA"
}
]
}
Severity ?
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 0.0.83"
},
"package": {
"ecosystem": "Go",
"name": "github.com/mindersec/minder"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.72"
},
{
"fixed": "0.0.84"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-830"
],
"github_reviewed": true,
"github_reviewed_at": "2025-11-20T21:57:01Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Impact\n\nMinder users may fetch content in the context of the Minder server, which may include URLs which the user would not normally have access to (for example, if the Minder server is behind a firewall or other network partition).\n\n### Patches\n\nhttps://github.com/mindersec/minder/commit/f770400923984649a287d7215410ef108e845af8\n\n### Workarounds\n\nUsers should avoid deploying Minder with access to sensitive resources. Unfortunately, this could include access to systems like OpenFGA or Keycloak, depending on the deployment configuration.\n\n### References\n\nSample ruletype:\n\n```yaml\nversion: v1\ntype: rule-type\nname: test-http-send\ndisplay_name: Test that we can call http.send\nshort_failure_message: Failed http.send\nseverity:\n value: medium\ncontext:\n provider: github\ndescription: |\n ...\nguidance: |\n ....\ndef:\n in_entity: repository\n rule_schema:\n type: object\n properties: {}\n ingest:\n type: git\n git: {}\n eval:\n type: rego\n violation_format: text\n rego:\n type: constraints\n def: |\n package minder\n\n import rego.v1\n\n violations contains {\"msg\": \"Check-execution\"}\n\n resp := http.send({\n \"method\": \"GET\",\n \"url\": \"http://openfga:8080/\",\n \"raise_error\": false,\n })\n\n violations contains {\"msg\": sprintf(\"Response: %s\", [resp.status])}\n\n details := sprintf(\"High score: %s\", [resp.body.summary])\n\n violations contains {\"msg\": sprintf(\"Response body: %s\", [resp.body]) } if {\n resp.status_code \u003e 0\n }\n```\n\nExample policy:\n\n```yaml\nversion: v1\ntype: profile\nname: Test-HTTP-send\ndisplay_name: Test if we can do http.send\ncontext:\n provider: github\nalert: \"off\"\nremediate: \"off\"\nrepository:\n - type: test-http-send\n def: {}\n```\n\nEvaluation results:\n\n```sh\n$ minder profile status list -n test-http-send --json\n{\n \"profileStatus\": {\n \"profileId\": \"3b3e0918-4deb-49cc-b4c9-1d1d912cf784\",\n \"profileName\": \"Test-HTTP-send\",\n \"profileStatus\": \"failure\",\n \"lastUpdated\": \"2024-10-31T03:44:01.456359Z\"\n },\n \"ruleEvaluationStatus\": [\n {\n \"profileId\": \"3b3e0918-4deb-49cc-b4c9-1d1d912cf784\",\n \"ruleId\": \"c0ebac2c-cfe2-4a98-b0a6-d6971209653e\",\n \"ruleName\": \"test-http-send\",\n \"entity\": \"repository\",\n \"status\": \"failure\",\n \"lastUpdated\": \"2024-10-31T03:44:01.456359Z\",\n \"entityInfo\": {\n \"entity_id\": \"a7f7a4bc-4430-4e9a-86a9-ffa026db6343\",\n \"entity_type\": \"repository\",\n \"name\": \"a-random-sandbox/colorls\",\n \"provider\": \"github-app-a-random-sandbox\",\n \"repo_name\": \"colorls\",\n \"repo_owner\": \"a-random-sandbox\",\n \"repository_id\": \"a7f7a4bc-4430-4e9a-86a9-ffa026db6343\"\n },\n \"details\": \"Multiple issues:\\n* Check-execution\\n* Response body: {\\\"code\\\": \\\"undefined_endpoint\\\", \\\"message\\\": \\\"Not Found\\\"}\\n* Response: 404 Not Found\\n\",\n \"guidance\": \"....\\n\",\n \"remediationStatus\": \"skipped\",\n \"remediationLastUpdated\": \"2024-10-31T03:44:01.456359Z\",\n \"ruleTypeName\": \"test-http-send\",\n \"ruleDescriptionName\": \"Test that we can call http.send\",\n \"alert\": {\n \"status\": \"skipped\",\n \"lastUpdated\": \"2024-10-31T03:44:01.456359Z\"\n },\n \"ruleDisplayName\": \"Test that we can call http.send\",\n \"releasePhase\": \"RULE_TYPE_RELEASE_PHASE_ALPHA\"\n }\n ]\n}\n```",
"id": "GHSA-6xvf-4vh9-mw47",
"modified": "2025-11-20T21:57:01Z",
"published": "2025-11-20T21:57:01Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/mindersec/minder/security/advisories/GHSA-6xvf-4vh9-mw47"
},
{
"type": "WEB",
"url": "https://github.com/mindersec/minder/commit/f770400923984649a287d7215410ef108e845af8"
},
{
"type": "PACKAGE",
"url": "https://github.com/mindersec/minder"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L",
"type": "CVSS_V4"
}
],
"summary": "Minder does not sandbox http.send in Rego programs"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…