Allocation of Resources Without Limits or Throttling in flagd
flagd is a feature flag daemon with a Unix philosophy. Prior to 0.14.2, flagd exposes OFREP (/ofrep/v1/evaluate/...) and gRPC (evaluation.v1, evaluation.v2) endpoints for feature flag evaluation. These endpoints are designed to be publicly accessible by client applications. The evaluation context included in request payloads is read into memory without any size restriction. An attacker can send a single HTTP request with an arbitrarily large body, causing flagd to allocate a corresponding amount of memory. This leads to immediate memory exhaustion and process termination (e.g., OOMKill in Kubernetes environments). flagd does not natively enforce authentication on its evaluation endpoints. While operators may deploy flagd behind an authenticating reverse proxy or similar infrastructure, the endpoints themselves impose no access control by default. This vulnerability is fixed in 0.14.2.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-31866
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 07:08 UTC · Revision 1
Source evidence
Allocation of Resources Without Limits or Throttling in flagd
core-osv · Original sourcePublished 11 Mar 2026, 17:49 UTC
flagd is a feature flag daemon with a Unix philosophy. Prior to 0.14.2, flagd exposes OFREP (/ofrep/v1/evaluate/...) and gRPC (evaluation.v1, evaluation.v2) endpoints for feature flag evaluation. These endpoints are designed to be publicly accessible by client applications. The evaluation context included in request payloads is read into memory without any size restriction. An attacker can send a single HTTP request with an arbitrarily large body, causing flagd to allocate a corresponding amount of memory. This leads to immediate memory exhaustion and process termination (e.g., OOMKill in Kubernetes environments). flagd does not natively enforce authentication on its evaluation endpoints. While operators may deploy flagd behind an authenticating reverse proxy or similar infrastructure, the endpoints themselves impose no access control by default. This vulnerability is fixed in 0.14.2.
osv:CVE-2026-31866
Complete source record
{
"id": "4bc8d395fe275812c9dad7d0a6972f8f6022943abe150005a093cd62d19526a8",
"url": "https://osv.dev/vulnerability/CVE-2026-31866",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Allocation of Resources Without Limits or Throttling in flagd",
"summary": "flagd is a feature flag daemon with a Unix philosophy. Prior to 0.14.2, flagd exposes OFREP (/ofrep/v1/evaluate/...) and gRPC (evaluation.v1, evaluation.v2) endpoints for feature flag evaluation. These endpoints are designed to be publicly accessible by client applications. The evaluation context included in request payloads is read into memory without any size restriction. An attacker can send a single HTTP request with an arbitrarily large body, causing flagd to allocate a corresponding amount of memory. This leads to immediate memory exhaustion and process termination (e.g., OOMKill in Kubernetes environments). flagd does not natively enforce authentication on its evaluation endpoints. While operators may deploy flagd behind an authenticating reverse proxy or similar infrastructure, the endpoints themselves impose no access control by default. This vulnerability is fixed in 0.14.2.",
"evidence": "osv:CVE-2026-31866",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-31866",
"aliases": [
"CVE-2026-31866",
"GHSA-rmrf-g9r3-73pm",
"GO-2026-4674"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/open-feature/flagd",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "c250d1c81d9917ac9a2ca5360f1fcd7266d29533"
},
{
"fixed": "25c5fd7e80c26eb2c00b20317b2456fe6f927ea3"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:openfeature:flagd:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.14.2"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "25c5fd7e80c26eb2c00b20317b2456fe6f927ea3"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"flagd/v0.14.1",
"flagd/v0.14.0",
"flagd-proxy/v0.9.0",
"core/v0.14.0",
"flagd/v0.13.3",
"core/v0.13.3",
"flagd/v0.13.2",
"flagd-proxy/v0.8.3",
"core/v0.13.2",
"flagd/v0.13.1",
"flagd-proxy/v0.8.2",
"core/v0.13.1",
"flagd/v0.13.0",
"flagd-proxy/v0.8.1",
"core/v0.13.0",
"flagd/v0.12.9",
"core/v0.12.1",
"flagd/v0.12.8",
"flagd-proxy/v0.8.0",
"core/v0.12.0",
"flagd/v0.12.7",
"flagd-proxy/v0.7.6",
"core/v0.11.8",
"core/v0.11.7",
"flagd/v0.12.6",
"flagd-proxy/v0.7.5",
"core/v0.11.6",
"flagd/v0.12.5",
"core/v0.11.5",
"flagd/v0.12.4",
"flagd-proxy/v0.7.4",
"core/v0.11.4",
"flagd/v0.12.3",
"flagd-proxy/v0.7.3",
"core/v0.11.3",
"flagd/v0.12.2",
"flagd-proxy/v0.7.2",
"core/v0.11.2",
"flagd/v0.12.1",
"flagd-proxy/v0.7.1",
"core/v0.11.1",
"flagd/v0.12.0",
"flagd-proxy/v0.7.0",
"core/v0.11.0",
"flagd/v0.11.8",
"flagd-proxy/v0.6.11",
"core/v0.10.8",
"flagd/v0.11.7",
"flagd-proxy/v0.6.10",
"core/v0.10.7",
"flagd/v0.11.6",
"flagd-proxy/v0.6.9",
"core/v0.10.6",
"flagd/v0.11.5",
"flagd-proxy/v0.6.8",
"core/v0.10.5",
"flagd/v0.11.4",
"flagd-proxy/v0.6.7",
"core/v0.10.4",
"flagd/v0.11.3",
"flagd-proxy/v0.6.6",
"core/v0.10.3",
"flagd/v0.11.2",
"flagd-proxy/v0.6.5",
"core/v0.10.2",
"flagd/v0.11.1",
"flagd-proxy/v0.6.4",
"core/v0.10.1",
"flagd/v0.11.0",
"flagd-proxy/v0.6.3",
"core/v0.10.0",
"flagd/v0.10.3",
"core/v0.9.3",
"flagd/v0.10.2",
"flagd-proxy/v0.6.2",
"core/v0.9.2",
"flagd/v0.10.1",
"flagd-proxy/v0.6.1",
"core/v0.9.1",
"flagd/v0.10.0",
"flagd-proxy/v0.6.0",
"core/v0.9.0",
"flagd/v0.9.2",
"flagd-proxy/v0.5.2",
"core/v0.8.2",
"flagd/v0.9.1",
"flagd-proxy/v0.5.1",
"core/v0.8.1",
"flagd/v0.9.0",
"flagd-proxy/v0.5.0",
"core/v0.8.0",
"flagd/v0.8.2",
"flagd-proxy/v0.4.2",
"core/v0.7.5",
"flagd/v0.8.1",
"flagd-proxy/v0.4.1",
"core/v0.7.4",
"flagd/v0.8.0",
"flagd-proxy/v0.4.0",
"core/v0.7.3",
"flagd/v0.7.2",
"flagd-proxy/v0.3.2",
"core/v0.7.2",
"flagd/v0.7.1",
"flagd-proxy/v0.3.1",
"core/v0.7.1",
"flagd/v0.7.0",
"flagd-proxy/v0.3.0",
"core/v0.7.0",
"flagd/v0.6.8",
"flagd-proxy/v0.2.13",
"core/v0.6.8",
"flagd/v0.6.7",
"flagd-proxy/v0.2.12",
"core/v0.6.7",
"flagd/v0.6.6",
"flagd-proxy/v0.2.11",
"core/v0.6.6",
"flagd/v0.6.5",
"flagd-proxy/v0.2.10",
"core/v0.6.5",
"flagd/v0.6.4",
"flagd-proxy/v0.2.9",
"core/v0.6.4",
"flagd/v0.6.3",
"flagd-proxy/v0.2.8",
"core/v0.6.3",
"flagd/v0.6.2",
"flagd-proxy/v0.2.7",
"core/v0.6.2",
"flagd/v0.6.1",
"flagd-proxy/v0.2.6",
"core/v0.6.1",
"flagd/v0.6.0",
"flagd-proxy/v0.2.5",
"core/v0.6.0",
"flagd/v0.5.4",
"flagd-proxy/v0.2.4",
"core/v0.5.4",
"flagd/v0.5.3",
"flagd-proxy/v0.2.3",
"core/v0.5.3",
"flagd/v0.5.2",
"flagd-proxy/v0.2.2",
"core/v0.5.2",
"flagd/v0.5.1",
"flagd-proxy/v0.2.1",
"core/v0.5.1",
"flagd/v0.5.0",
"flagd-proxy/v0.2.0",
"core/v0.5.0",
"kube-flagd-proxy/v0.1.2",
"flagd/v0.4.5",
"core/v0.4.5",
"kube-flagd-proxy/v0.1.1",
"flagd/v0.4.4",
"core/v0.4.4",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.7",
"v0.3.6",
"v0.3.5",
"v0.3.4",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.7",
"v0.2.5",
"v0.2.4",
"v0.2.3",
"v0.2.2",
"v0.2.1",
"v0.2.0",
"v0.1.1",
"v0.1.0",
"v0.0.9",
"v0.0.8",
"v0.0.7",
"v0.0.6",
"v0.0.5",
"v0.0.4",
"v0.0.3",
"v0.0.2-1",
"v0.0.2",
"v0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31866.json"
}
}
],
"modified": "2026-10-28T02:30:26.821544978Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31866.json",
"https://github.com/open-feature/flagd/security/advisories/GHSA-rmrf-g9r3-73pm",
"https://nvd.nist.gov/vuln/detail/CVE-2026-31866",
"https://github.com/open-feature/flagd/commit/25c5fd7e80c26eb2c00b20317b2456fe6f927ea3"
],
"provider_metadata": {
"cwe_ids": [
"CWE-770"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31866.json"
}
},
"related_cves": [
{
"value": "CVE-2026-31866",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 493232,
"published_at": "2026-03-11T17:49:48.52+00:00"
}