Common Weakness Enumeration
CWE-1284
AllowedImproper Validation of Specified Quantity in Input
Abstraction: Base · Status: Incomplete
The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.
581 vulnerabilities reference this CWE, most recent first.
CVE-2026-87962 (GCVE-0-2026-87962)
Vulnerability from cvelistv5 – Published: 2026-09-10 10:52 – Updated: 2026-09-10 12:56
VLAI
EPSS
VEX
Title
t-digest 3.1 through 3.3 Denial of Service via Unvalidated Length Fields in MergingDigest.fromBytes
Summary
t-digest versions 3.1 through 3.3 contain a denial of service vulnerability in MergingDigest.fromBytes that fails to validate length and capacity fields from serialized data. Attackers can supply crafted serialized digests with mismatched header fields to trigger ArrayIndexOutOfBoundsException or NegativeArraySizeException, aborting the parsing thread.
Severity
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-10 12:56 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/tdunning/t-digest/issues/227 | issue-tracking |
| https://github.com/tdunning/t-digest/blob/7905f3d… | technical-description |
| https://github.com/tdunning/t-digest | product |
| https://www.vulncheck.com/advisories/t-digest-3.1… | third-party-advisory |
Date Public
2026-08-14 00:00
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-87962",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-10T12:56:34.629972Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-10T12:56:58.192Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/tdunning/t-digest/issues/227"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo1.maven.org/maven2/com/tdunning/t-digest/",
"defaultStatus": "unaffected",
"packageURL": "pkg:maven/com.tdunning/t-digest",
"product": "t-digest",
"repo": "https://github.com/tdunning/t-digest",
"vendor": "tdunning",
"versions": [
{
"lessThanOrEqual": "3.3",
"status": "affected",
"version": "3.1",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Yu Bao, PayPal Cyber Security Team"
}
],
"datePublic": "2026-08-14T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "t-digest versions 3.1 through 3.3 contain a denial of service vulnerability in MergingDigest.fromBytes that fails to validate length and capacity fields from serialized data. Attackers can supply crafted serialized digests with mismatched header fields to trigger ArrayIndexOutOfBoundsException or NegativeArraySizeException, aborting the parsing thread."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
},
"format": "CVSS"
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-10T10:52:38.047Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "GitHub Issue #227",
"tags": [
"issue-tracking"
],
"url": "https://github.com/tdunning/t-digest/issues/227"
},
{
"name": "MergingDigest.java",
"tags": [
"technical-description"
],
"url": "https://github.com/tdunning/t-digest/blob/7905f3d2ad18e7d7176811147d1316a3e23d7061/core/src/main/java/com/tdunning/math/stats/MergingDigest.java"
},
{
"tags": [
"product"
],
"url": "https://github.com/tdunning/t-digest"
},
{
"name": "VulnCheck Advisory: t-digest 3.1 through 3.3 Denial of Service via Unvalidated Length Fields in MergingDigest.fromBytes",
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/t-digest-3.1-through-3.3-denial-of-service-via-unvalidated-length-fields-in-mergingdigest-frombytes"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "t-digest 3.1 through 3.3 Denial of Service via Unvalidated Length Fields in MergingDigest.fromBytes",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-87962",
"datePublished": "2026-09-10T10:52:38.047Z",
"dateReserved": "2026-09-09T17:35:22.800Z",
"dateUpdated": "2026-09-10T12:56:58.192Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-87735 (GCVE-0-2026-87735)
Vulnerability from cvelistv5 – Published: 2026-09-09 04:16 – Updated: 2026-09-09 18:39
VLAI
EPSS
VEX
Summary
An issue was discovered in the mirage-crypto-pk package before 2.3.0 for OCaml. There is an undocumented exception for a small message during RSA decryption or encryption.
Severity
4.3 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-09 18:39 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
1 reference
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| OCaml | mirage-crypto-pk |
Affected:
0 , < 2.3.0
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-87735",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-09T18:39:48.567407Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-09T18:39:57.065Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"packageURL": "pkg:opam/mirage-crypto-pk",
"product": "mirage-crypto-pk",
"vendor": "OCaml",
"versions": [
{
"lessThan": "2.3.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "An issue was discovered in the mirage-crypto-pk package before 2.3.0 for OCaml. There is an undocumented exception for a small message during RSA decryption or encryption."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-09T04:16:24.808Z",
"orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"shortName": "mitre"
},
"references": [
{
"url": "https://osv.dev/vulnerability/OSEC-2026-14"
}
],
"x_generator": {
"engine": "CVE-Request-form 0.0.1"
}
}
},
"cveMetadata": {
"assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"assignerShortName": "mitre",
"cveId": "CVE-2026-87735",
"datePublished": "2026-09-09T04:16:24.808Z",
"dateReserved": "2026-09-09T04:16:24.463Z",
"dateUpdated": "2026-09-09T18:39:57.065Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-85201 (GCVE-0-2026-85201)
Vulnerability from cvelistv5 – Published: 2026-09-07 10:01 – Updated: 2026-09-08 15:06
VLAI
EPSS
VEX
Summary
In Eclipse Ankaios versions 0.1.0 through 1.0.1, the agent does not limit the length declared by a workload in a length-delimited protobuf message received through the Control Interface FIFO. A workload granted Control Interface access can specify an excessive message length, causing an unbounded memory allocation that may abort the Ankaios agent process. This results in loss of orchestration services for workloads managed by the affected agent.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-08 15:05 UTC
CWE
Assigner
References
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Eclipse Foundation | Eclipse Ankaios |
Affected:
0.1.0 , ≤ 1.0.1
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-85201",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-08T15:05:01.649513Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-08T15:06:08.932Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Eclipse Ankaios",
"vendor": "Eclipse Foundation",
"versions": [
{
"lessThanOrEqual": "1.0.1",
"status": "affected",
"version": "0.1.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Eclipse Foundation Security Team"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "In Eclipse Ankaios versions 0.1.0 through 1.0.1, the agent does not limit the length declared by a workload in a length-delimited protobuf message received through the Control Interface FIFO. A workload granted Control Interface access can specify an excessive message length, causing an unbounded memory allocation that may abort the Ankaios agent process. This results in loss of orchestration services for workloads managed by the affected agent."
}
],
"value": "In Eclipse Ankaios versions 0.1.0 through 1.0.1, the agent does not limit the length declared by a workload in a length-delimited protobuf message received through the Control Interface FIFO. A workload granted Control Interface access can specify an excessive message length, causing an unbounded memory allocation that may abort the Ankaios agent process. This results in loss of orchestration services for workloads managed by the affected agent."
}
],
"impacts": [
{
"capecId": "CAPEC-130",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-130 Excessive Allocation"
}
]
},
{
"capecId": "CAPEC-231",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-231 Oversized Serialized Data Payloads"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "LOCAL",
"baseScore": 6.8,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "LOW",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-789",
"description": "CWE-789 Memory allocation with excessive size value",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper validation of specified quantity in input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-07T10:01:07.356Z",
"orgId": "e51fbebd-6053-4e49-959f-1b94eeb69a2c",
"shortName": "eclipse"
},
"references": [
{
"url": "https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/900"
},
{
"url": "https://github.com/eclipse-ankaios/ankaios/releases/tag/v1.0.2"
},
{
"url": "https://github.com/eclipse-ankaios/ankaios/pull/791"
}
],
"source": {
"discovery": "UNKNOWN"
},
"x_generator": {
"engine": "Vulnogram 1.0.5"
}
}
},
"cveMetadata": {
"assignerOrgId": "e51fbebd-6053-4e49-959f-1b94eeb69a2c",
"assignerShortName": "eclipse",
"cveId": "CVE-2026-85201",
"datePublished": "2026-09-07T10:01:07.356Z",
"dateReserved": "2026-09-03T13:02:10.984Z",
"dateUpdated": "2026-09-08T15:06:08.932Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-82752 (GCVE-0-2026-82752)
Vulnerability from cvelistv5 – Published: 2026-09-05 17:16 – Updated: 2026-09-08 18:20
VLAI
EPSS
VEX
Title
Ash string length constraints count graphemes, so a combining-mark string of any size passes max_length
Summary
Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to store a value of arbitrary size in an attribute whose length constraint should bound it.
Ash measures string length with Elixir's String.length/1, which counts Unicode graphemes, in the max_length and min_length constraints of Ash.Type.String (apply_constraints/2 in lib/ash/type/string.ex), in Ash.Resource.Validation.StringLength, and in the string_length expression function. A grapheme carries an unbounded number of combining marks, so a base character followed by a million combining acute accents is one grapheme and megabytes of data, and satisfies max_length: 2. Where the data layer imposes no independent limit (ETS, Mnesia, or a Postgres text column) the whole value is persisted, so an attacker can write an entire request body into an attribute declared with a small maximum and grow storage without bound.
The counting unit also disagrees with the storage layer, which counts codepoints rather than graphemes, so a value accepted by the constraint can still be rejected or truncated by the column. A Postgres varchar(n) column bounds the value itself and is not exposed.
This issue affects ash: from 0.10.0 before 3.33.0.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-08 18:19 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/ash-project/ash/security/advis… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-82752.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-82752 | related |
| https://github.com/ash-project/ash/commit/a64cab4… | patch |
| https://github.com/ash-project/ash/commit/cdbf4c4… | patch |
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| ash-project | ash |
Affected:
0.10.0 , < 3.33.0
(semver)
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:* |
|
| ash-project | ash |
Affected:
05848d5f4affe60fddd812222a18ada080c0813b , < *
(git)
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-82752",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-08T18:19:23.967428Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-08T18:20:03.503Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Ash.Type.String\u0027",
"\u0027Elixir.Ash.Resource.Validation.StringLength\u0027",
"\u0027Elixir.Ash.Query.Function.StringLength\u0027"
],
"packageName": "ash",
"packageURL": "pkg:hex/ash",
"product": "ash",
"programFiles": [
"lib/ash/type/string.ex",
"lib/ash/resource/validation/string_length.ex",
"lib/ash/query/function/string_length.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Ash.Type.String\u0027:apply_constraints/2"
},
{
"name": "\u0027Elixir.Ash.Type.String\u0027:apply_atomic_constraints/2"
},
{
"name": "\u0027Elixir.Ash.Resource.Validation.StringLength\u0027:validate/3"
},
{
"name": "\u0027Elixir.Ash.Resource.Validation.StringLength\u0027:atomic/3"
},
{
"name": "\u0027Elixir.Ash.Query.Function.StringLength\u0027:evaluate/1"
}
],
"repo": "https://github.com/ash-project/ash",
"vendor": "ash-project",
"versions": [
{
"lessThan": "3.33.0",
"status": "affected",
"version": "0.10.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Ash.Type.String\u0027",
"\u0027Elixir.Ash.Resource.Validation.StringLength\u0027",
"\u0027Elixir.Ash.Query.Function.StringLength\u0027"
],
"packageName": "ash-project/ash",
"packageURL": "pkg:github/ash-project/ash",
"product": "ash",
"programFiles": [
"lib/ash/type/string.ex",
"lib/ash/resource/validation/string_length.ex",
"lib/ash/query/function/string_length.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Ash.Type.String\u0027:apply_constraints/2"
},
{
"name": "\u0027Elixir.Ash.Type.String\u0027:apply_atomic_constraints/2"
},
{
"name": "\u0027Elixir.Ash.Resource.Validation.StringLength\u0027:validate/3"
},
{
"name": "\u0027Elixir.Ash.Resource.Validation.StringLength\u0027:atomic/3"
},
{
"name": "\u0027Elixir.Ash.Query.Function.StringLength\u0027:evaluate/1"
}
],
"repo": "https://github.com/ash-project/ash",
"vendor": "ash-project",
"versions": [
{
"changes": [
{
"at": "a64cab49b8886503e6b7c7b211d83c475aac48ca",
"status": "unaffected"
},
{
"at": "cdbf4c4da6bda5f6f139078f01a64320b595216d",
"status": "unaffected"
}
],
"lessThan": "*",
"status": "affected",
"version": "05848d5f4affe60fddd812222a18ada080c0813b",
"versionType": "git"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eA resource attribute must carry a \u003ccode\u003emax_length\u003c/code\u003e constraint (or an equivalent \u003ccode\u003estring_length\u003c/code\u003e validation) fed from client input, and the data layer must impose no independent size limit of its own. The ETS and Mnesia data layers and Postgres \u003ccode\u003etext\u003c/code\u003e columns store the value in full; a Postgres \u003ccode\u003evarchar(n)\u003c/code\u003e column bounds it independently and is not exposed.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "A resource attribute must carry a `max_length` constraint (or an equivalent `string_length` validation) fed from client input, and the data layer must impose no independent size limit of its own. The ETS and Mnesia data layers and Postgres `text` columns store the value in full; a Postgres `varchar(n)` column bounds it independently and is not exposed."
}
],
"value": "A resource attribute must carry a max_length constraint (or an equivalent string_length validation) fed from client input, and the data layer must impose no independent size limit of its own. The ETS and Mnesia data layers and Postgres text columns store the value in full; a Postgres varchar(n) column bounds it independently and is not exposed."
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*",
"versionEndExcluding": "3.33.0",
"versionStartIncluding": "0.10.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Jonatan M\u00e4nnchen / EEF"
},
{
"lang": "en",
"type": "reporter",
"value": "Jonatan M\u00e4nnchen / EEF"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Zach Daniel / Ash Project"
},
{
"lang": "en",
"type": "coordinator",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to store a value of arbitrary size in an attribute whose length constraint should bound it.\u003c/p\u003e\n\u003cp\u003eAsh measures string length with Elixir\u0027s \u003ccode\u003eString.length/1\u003c/code\u003e, which counts Unicode graphemes, in the \u003ccode\u003emax_length\u003c/code\u003e and \u003ccode\u003emin_length\u003c/code\u003e constraints of \u003ccode\u003eAsh.Type.String\u003c/code\u003e (\u003ccode\u003eapply_constraints/2\u003c/code\u003e in \u003ccode\u003elib/ash/type/string.ex\u003c/code\u003e), in \u003ccode\u003eAsh.Resource.Validation.StringLength\u003c/code\u003e, and in the \u003ccode\u003estring_length\u003c/code\u003e expression function. A grapheme carries an unbounded number of combining marks, so a base character followed by a million combining acute accents is one grapheme and megabytes of data, and satisfies \u003ccode\u003emax_length: 2\u003c/code\u003e. Where the data layer imposes no independent limit (ETS, Mnesia, or a Postgres \u003ccode\u003etext\u003c/code\u003e column) the whole value is persisted, so an attacker can write an entire request body into an attribute declared with a small maximum and grow storage without bound.\u003c/p\u003e\n\u003cp\u003eThe counting unit also disagrees with the storage layer, which counts codepoints rather than graphemes, so a value accepted by the constraint can still be rejected or truncated by the column. A Postgres \u003ccode\u003evarchar(n)\u003c/code\u003e column bounds the value itself and is not exposed.\u003c/p\u003e\n\u003cp\u003eThis issue affects ash: from 0.10.0 before 3.33.0.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to store a value of arbitrary size in an attribute whose length constraint should bound it.\n\nAsh measures string length with Elixir\u0027s `String.length/1`, which counts Unicode graphemes, in the `max_length` and `min_length` constraints of `Ash.Type.String` (`apply_constraints/2` in `lib/ash/type/string.ex`), in `Ash.Resource.Validation.StringLength`, and in the `string_length` expression function. A grapheme carries an unbounded number of combining marks, so a base character followed by a million combining acute accents is one grapheme and megabytes of data, and satisfies `max_length: 2`. Where the data layer imposes no independent limit (ETS, Mnesia, or a Postgres `text` column) the whole value is persisted, so an attacker can write an entire request body into an attribute declared with a small maximum and grow storage without bound.\n\nThe counting unit also disagrees with the storage layer, which counts codepoints rather than graphemes, so a value accepted by the constraint can still be rejected or truncated by the column. A Postgres `varchar(n)` column bounds the value itself and is not exposed.\n\nThis issue affects ash: from 0.10.0 before 3.33.0."
}
],
"value": "Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to store a value of arbitrary size in an attribute whose length constraint should bound it.\n\nAsh measures string length with Elixir\u0027s String.length/1, which counts Unicode graphemes, in the max_length and min_length constraints of Ash.Type.String (apply_constraints/2 in lib/ash/type/string.ex), in Ash.Resource.Validation.StringLength, and in the string_length expression function. A grapheme carries an unbounded number of combining marks, so a base character followed by a million combining acute accents is one grapheme and megabytes of data, and satisfies max_length: 2. Where the data layer imposes no independent limit (ETS, Mnesia, or a Postgres text column) the whole value is persisted, so an attacker can write an entire request body into an attribute declared with a small maximum and grow storage without bound.\n\nThe counting unit also disagrees with the storage layer, which counts codepoints rather than graphemes, so a value accepted by the constraint can still be rejected or truncated by the column. A Postgres varchar(n) column bounds the value itself and is not exposed.\n\nThis issue affects ash: from 0.10.0 before 3.33.0."
}
],
"impacts": [
{
"capecId": "CAPEC-153",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-153 Input Data Manipulation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-05T17:16:16.722Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/ash-project/ash/security/advisories/GHSA-cwjv-574p-59f6"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-82752.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-82752"
},
{
"tags": [
"patch"
],
"url": "https://github.com/ash-project/ash/commit/a64cab49b8886503e6b7c7b211d83c475aac48ca"
},
{
"tags": [
"patch"
],
"url": "https://github.com/ash-project/ash/commit/cdbf4c4da6bda5f6f139078f01a64320b595216d"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Ash string length constraints count graphemes, so a combining-mark string of any size passes max_length"
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-82752",
"datePublished": "2026-09-05T17:16:16.722Z",
"dateReserved": "2026-08-31T01:00:10.817Z",
"dateUpdated": "2026-09-08T18:20:03.503Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-82751 (GCVE-0-2026-82751)
Vulnerability from cvelistv5 – Published: 2026-09-06 16:07 – Updated: 2026-09-08 18:24
VLAI
EPSS
VEX
Title
Unbounded key authorization in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors access-key provisioning
Summary
Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer's gas cost per sponsored payment by a large multiplier and to have the sponsor pay for provisioning an access key on the client's own account.
When the server sponsors Tempo payments, MPP.Methods.Tempo.FeePayerPolicy.measure/3 in lib/mpp/methods/tempo/fee_payer_policy.ex bounds the gas fields, the fee budget, the validity window and the access list of the client-signed 0x76 envelope, but does not check whether the envelope carries the optional key_authorization field. A client can attach a fully signed key authorization, provisioning a new access key with token spending limits on its own account, alongside the normal payment call. The key and each limit entry are persistent storage writes billed as intrinsic gas to the sponsor, bounded only by the gas_limit ceiling. At the reporter's default of one key with three token limits the sponsored cost rises from about 46,587 gas to about 1,808,700 gas, and the client keeps a valid access key it paid nothing for.
This issue affects mpp: from 0.2.0 before 0.16.1.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-08 18:24 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/ZenHive/mpp/security/advisorie… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-82751.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-82751 | related |
| https://github.com/ZenHive/mpp/commit/0482572b47e… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-82751",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-08T18:24:07.502205Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-08T18:24:19.598Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027",
"\u0027Elixir.MPP.Methods.Tempo\u0027"
],
"packageName": "mpp",
"packageURL": "pkg:hex/mpp",
"product": "mpp",
"programFiles": [
"lib/mpp/methods/tempo/fee_payer_policy.ex",
"lib/mpp/methods/tempo.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:measure/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:validate/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo\u0027:verify/2"
}
],
"repo": "https://github.com/ZenHive/mpp",
"vendor": "ZenHive",
"versions": [
{
"lessThan": "0.16.1",
"status": "affected",
"version": "0.2.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027",
"\u0027Elixir.MPP.Methods.Tempo\u0027"
],
"packageName": "zenhive/mpp",
"packageURL": "pkg:github/zenhive/mpp",
"product": "mpp",
"programFiles": [
"lib/mpp/methods/tempo/fee_payer_policy.ex",
"lib/mpp/methods/tempo.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:measure/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:validate/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo\u0027:verify/2"
}
],
"repo": "https://github.com/ZenHive/mpp",
"vendor": "ZenHive",
"versions": [
{
"lessThan": "0482572b47e1ffe1537ab80ab613d47b92833c2d",
"status": "affected",
"version": "d29d54e507918db00a5b65d90136b73166c017d7",
"versionType": "git"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eOnly deployments that enable Tempo server-side fee sponsorship are affected, through \u003ccode\u003e\"fee_payer\" =\u0026gt; true\u003c/code\u003e in \u003ccode\u003emethod_config\u003c/code\u003e with either local co-signing (\u003ccode\u003efee_payer_private_key\u003c/code\u003e) or hosted sponsorship (\u003ccode\u003efee_payer_url\u003c/code\u003e). Sponsorship is disabled by default.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Only deployments that enable Tempo server-side fee sponsorship are affected, through `\"fee_payer\" =\u003e true` in `method_config` with either local co-signing (`fee_payer_private_key`) or hosted sponsorship (`fee_payer_url`). Sponsorship is disabled by default."
}
],
"value": "Only deployments that enable Tempo server-side fee sponsorship are affected, through \"fee_payer\" =\u003e true in method_config with either local co-signing (fee_payer_private_key) or hosted sponsorship (fee_payer_url). Sponsorship is disabled by default."
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.16.1",
"versionStartIncluding": "0.2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Kian Kai Ang"
},
{
"lang": "en",
"type": "reporter",
"value": "Kian Kai Ang"
},
{
"lang": "en",
"type": "remediation developer",
"value": "E.FU"
},
{
"lang": "en",
"type": "coordinator",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for provisioning an access key on the client\u0027s own account.\u003c/p\u003e\n\u003cp\u003eWhen the server sponsors Tempo payments, \u003ccode\u003eMPP.Methods.Tempo.FeePayerPolicy.measure/3\u003c/code\u003e in \u003ccode\u003elib/mpp/methods/tempo/fee_payer_policy.ex\u003c/code\u003e bounds the gas fields, the fee budget, the validity window and the access list of the client-signed \u003ccode\u003e0x76\u003c/code\u003e envelope, but does not check whether the envelope carries the optional \u003ccode\u003ekey_authorization\u003c/code\u003e field. A client can attach a fully signed key authorization, provisioning a new access key with token spending limits on its own account, alongside the normal payment call. The key and each limit entry are persistent storage writes billed as intrinsic gas to the sponsor, bounded only by the \u003ccode\u003egas_limit\u003c/code\u003e ceiling. At the reporter\u0027s default of one key with three token limits the sponsored cost rises from about 46,587 gas to about 1,808,700 gas, and the client keeps a valid access key it paid nothing for.\u003c/p\u003e\n\u003cp\u003eThis issue affects mpp: from 0.2.0 before 0.16.1.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for provisioning an access key on the client\u0027s own account.\n\nWhen the server sponsors Tempo payments, `MPP.Methods.Tempo.FeePayerPolicy.measure/3` in `lib/mpp/methods/tempo/fee_payer_policy.ex` bounds the gas fields, the fee budget, the validity window and the access list of the client-signed `0x76` envelope, but does not check whether the envelope carries the optional `key_authorization` field. A client can attach a fully signed key authorization, provisioning a new access key with token spending limits on its own account, alongside the normal payment call. The key and each limit entry are persistent storage writes billed as intrinsic gas to the sponsor, bounded only by the `gas_limit` ceiling. At the reporter\u0027s default of one key with three token limits the sponsored cost rises from about 46,587 gas to about 1,808,700 gas, and the client keeps a valid access key it paid nothing for.\n\nThis issue affects mpp: from 0.2.0 before 0.16.1."
}
],
"value": "Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for provisioning an access key on the client\u0027s own account.\n\nWhen the server sponsors Tempo payments, MPP.Methods.Tempo.FeePayerPolicy.measure/3 in lib/mpp/methods/tempo/fee_payer_policy.ex bounds the gas fields, the fee budget, the validity window and the access list of the client-signed 0x76 envelope, but does not check whether the envelope carries the optional key_authorization field. A client can attach a fully signed key authorization, provisioning a new access key with token spending limits on its own account, alongside the normal payment call. The key and each limit entry are persistent storage writes billed as intrinsic gas to the sponsor, bounded only by the gas_limit ceiling. At the reporter\u0027s default of one key with three token limits the sponsored cost rises from about 46,587 gas to about 1,808,700 gas, and the client keeps a valid access key it paid nothing for.\n\nThis issue affects mpp: from 0.2.0 before 0.16.1."
}
],
"impacts": [
{
"capecId": "CAPEC-130",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-130 Excessive Allocation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 8.3,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-06T16:07:26.407Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/ZenHive/mpp/security/advisories/GHSA-rpwj-vrf7-4x36"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-82751.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-82751"
},
{
"tags": [
"patch"
],
"url": "https://github.com/ZenHive/mpp/commit/0482572b47e1ffe1537ab80ab613d47b92833c2d"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Unbounded key authorization in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors access-key provisioning",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eDisable Tempo fee sponsorship by leaving \u003ccode\u003e\"fee_payer\"\u003c/code\u003e at its default of \u003ccode\u003efalse\u003c/code\u003e and setting no \u003ccode\u003efee_payer_url\u003c/code\u003e, so the client pays its own gas. Where sponsorship must stay enabled, lower the \u003ccode\u003emax_gas\u003c/code\u003e override in \u003ccode\u003efee_payer_policy\u003c/code\u003e to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope carrying a key authorization either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Disable Tempo fee sponsorship by leaving `\"fee_payer\"` at its default of `false` and setting no `fee_payer_url`, so the client pays its own gas. Where sponsorship must stay enabled, lower the `max_gas` override in `fee_payer_policy` to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope carrying a key authorization either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it."
}
],
"value": "Disable Tempo fee sponsorship by leaving \"fee_payer\" at its default of false and setting no fee_payer_url, so the client pays its own gas. Where sponsorship must stay enabled, lower the max_gas override in fee_payer_policy to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope carrying a key authorization either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-82751",
"datePublished": "2026-09-06T16:07:26.407Z",
"dateReserved": "2026-08-31T01:00:09.775Z",
"dateUpdated": "2026-09-08T18:24:19.598Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-82750 (GCVE-0-2026-82750)
Vulnerability from cvelistv5 – Published: 2026-09-06 16:08 – Updated: 2026-09-08 18:25
VLAI
EPSS
VEX
Title
Unbounded EIP-7702 authorization list in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors account delegation
Summary
Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer's gas cost per sponsored payment by a large multiplier and to have the sponsor pay for EIP-7702 account delegations of the client's choosing.
When the server sponsors Tempo payments, MPP.Methods.Tempo.FeePayerPolicy.measure/3 in lib/mpp/methods/tempo/fee_payer_policy.ex bounds the gas fields, the fee budget, the validity window and the access list of the client-signed 0x76 envelope, but never reads its aa_authorization_list field. Every signed delegation in that list is charged as intrinsic gas before the payment call runs, so a client attaching delegations from throwaway authority keys makes the sponsor pay for them within the default gas_limit ceiling. At the reporter's default of seven entries the sponsored cost rises from about 46,575 gas to about 1,884,087 gas. Because each entry is applied as a persistent set-code delegation, a client can also upgrade its own accounts to delegated code at the sponsor's expense.
This issue affects mpp: from 0.2.0 before 0.16.1.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-08 18:25 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/ZenHive/mpp/security/advisorie… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-82750.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-82750 | related |
| https://github.com/ZenHive/mpp/commit/0482572b47e… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-82750",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-08T18:25:27.116993Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-08T18:25:42.388Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027",
"\u0027Elixir.MPP.Methods.Tempo\u0027"
],
"packageName": "mpp",
"packageURL": "pkg:hex/mpp",
"product": "mpp",
"programFiles": [
"lib/mpp/methods/tempo/fee_payer_policy.ex",
"lib/mpp/methods/tempo.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:measure/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:validate/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo\u0027:verify/2"
}
],
"repo": "https://github.com/ZenHive/mpp",
"vendor": "ZenHive",
"versions": [
{
"lessThan": "0.16.1",
"status": "affected",
"version": "0.2.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027",
"\u0027Elixir.MPP.Methods.Tempo\u0027"
],
"packageName": "zenhive/mpp",
"packageURL": "pkg:github/zenhive/mpp",
"product": "mpp",
"programFiles": [
"lib/mpp/methods/tempo/fee_payer_policy.ex",
"lib/mpp/methods/tempo.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:measure/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo.FeePayerPolicy\u0027:validate/3"
},
{
"name": "\u0027Elixir.MPP.Methods.Tempo\u0027:verify/2"
}
],
"repo": "https://github.com/ZenHive/mpp",
"vendor": "ZenHive",
"versions": [
{
"lessThan": "0482572b47e1ffe1537ab80ab613d47b92833c2d",
"status": "affected",
"version": "d29d54e507918db00a5b65d90136b73166c017d7",
"versionType": "git"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eOnly deployments that enable Tempo server-side fee sponsorship are affected, through \u003ccode\u003e\"fee_payer\" =\u0026gt; true\u003c/code\u003e in \u003ccode\u003emethod_config\u003c/code\u003e with either local co-signing (\u003ccode\u003efee_payer_private_key\u003c/code\u003e) or hosted sponsorship (\u003ccode\u003efee_payer_url\u003c/code\u003e). Sponsorship is disabled by default.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Only deployments that enable Tempo server-side fee sponsorship are affected, through `\"fee_payer\" =\u003e true` in `method_config` with either local co-signing (`fee_payer_private_key`) or hosted sponsorship (`fee_payer_url`). Sponsorship is disabled by default."
}
],
"value": "Only deployments that enable Tempo server-side fee sponsorship are affected, through \"fee_payer\" =\u003e true in method_config with either local co-signing (fee_payer_private_key) or hosted sponsorship (fee_payer_url). Sponsorship is disabled by default."
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.16.1",
"versionStartIncluding": "0.2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Kian Kai Ang"
},
{
"lang": "en",
"type": "reporter",
"value": "Kian Kai Ang"
},
{
"lang": "en",
"type": "remediation developer",
"value": "E.FU"
},
{
"lang": "en",
"type": "coordinator",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for EIP-7702 account delegations of the client\u0027s choosing.\u003c/p\u003e\n\u003cp\u003eWhen the server sponsors Tempo payments, \u003ccode\u003eMPP.Methods.Tempo.FeePayerPolicy.measure/3\u003c/code\u003e in \u003ccode\u003elib/mpp/methods/tempo/fee_payer_policy.ex\u003c/code\u003e bounds the gas fields, the fee budget, the validity window and the access list of the client-signed \u003ccode\u003e0x76\u003c/code\u003e envelope, but never reads its \u003ccode\u003eaa_authorization_list\u003c/code\u003e field. Every signed delegation in that list is charged as intrinsic gas before the payment call runs, so a client attaching delegations from throwaway authority keys makes the sponsor pay for them within the default \u003ccode\u003egas_limit\u003c/code\u003e ceiling. At the reporter\u0027s default of seven entries the sponsored cost rises from about 46,575 gas to about 1,884,087 gas. Because each entry is applied as a persistent set-code delegation, a client can also upgrade its own accounts to delegated code at the sponsor\u0027s expense.\u003c/p\u003e\n\u003cp\u003eThis issue affects mpp: from 0.2.0 before 0.16.1.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for EIP-7702 account delegations of the client\u0027s choosing.\n\nWhen the server sponsors Tempo payments, `MPP.Methods.Tempo.FeePayerPolicy.measure/3` in `lib/mpp/methods/tempo/fee_payer_policy.ex` bounds the gas fields, the fee budget, the validity window and the access list of the client-signed `0x76` envelope, but never reads its `aa_authorization_list` field. Every signed delegation in that list is charged as intrinsic gas before the payment call runs, so a client attaching delegations from throwaway authority keys makes the sponsor pay for them within the default `gas_limit` ceiling. At the reporter\u0027s default of seven entries the sponsored cost rises from about 46,575 gas to about 1,884,087 gas. Because each entry is applied as a persistent set-code delegation, a client can also upgrade its own accounts to delegated code at the sponsor\u0027s expense.\n\nThis issue affects mpp: from 0.2.0 before 0.16.1."
}
],
"value": "Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer\u0027s gas cost per sponsored payment by a large multiplier and to have the sponsor pay for EIP-7702 account delegations of the client\u0027s choosing.\n\nWhen the server sponsors Tempo payments, MPP.Methods.Tempo.FeePayerPolicy.measure/3 in lib/mpp/methods/tempo/fee_payer_policy.ex bounds the gas fields, the fee budget, the validity window and the access list of the client-signed 0x76 envelope, but never reads its aa_authorization_list field. Every signed delegation in that list is charged as intrinsic gas before the payment call runs, so a client attaching delegations from throwaway authority keys makes the sponsor pay for them within the default gas_limit ceiling. At the reporter\u0027s default of seven entries the sponsored cost rises from about 46,575 gas to about 1,884,087 gas. Because each entry is applied as a persistent set-code delegation, a client can also upgrade its own accounts to delegated code at the sponsor\u0027s expense.\n\nThis issue affects mpp: from 0.2.0 before 0.16.1."
}
],
"impacts": [
{
"capecId": "CAPEC-130",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-130 Excessive Allocation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 8.3,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-06T16:08:41.089Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/ZenHive/mpp/security/advisories/GHSA-5qrp-r24c-w6jr"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-82750.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-82750"
},
{
"tags": [
"patch"
],
"url": "https://github.com/ZenHive/mpp/commit/0482572b47e1ffe1537ab80ab613d47b92833c2d"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Unbounded EIP-7702 authorization list in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors account delegation",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eDisable Tempo fee sponsorship by leaving \u003ccode\u003e\"fee_payer\"\u003c/code\u003e at its default of \u003ccode\u003efalse\u003c/code\u003e and setting no \u003ccode\u003efee_payer_url\u003c/code\u003e, so the client pays its own gas. Where sponsorship must stay enabled, lower the \u003ccode\u003emax_gas\u003c/code\u003e override in \u003ccode\u003efee_payer_policy\u003c/code\u003e to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope padded with delegations either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Disable Tempo fee sponsorship by leaving `\"fee_payer\"` at its default of `false` and setting no `fee_payer_url`, so the client pays its own gas. Where sponsorship must stay enabled, lower the `max_gas` override in `fee_payer_policy` to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope padded with delegations either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it."
}
],
"value": "Disable Tempo fee sponsorship by leaving \"fee_payer\" at its default of false and setting no fee_payer_url, so the client pays its own gas. Where sponsorship must stay enabled, lower the max_gas override in fee_payer_policy to just above what a legitimate sponsored payment needs (a TIP-20 transfer is roughly 50,000 gas), so an envelope padded with delegations either fails the policy or runs out of gas at a bounded cost. This bounds the inflation without closing it."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-82750",
"datePublished": "2026-09-06T16:08:41.089Z",
"dateReserved": "2026-08-31T01:00:09.774Z",
"dateUpdated": "2026-09-08T18:25:42.388Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-82734 (GCVE-0-2026-82734)
Vulnerability from cvelistv5 – Published: 2026-09-01 03:17 – Updated: 2026-09-01 15:15
VLAI
EPSS
VEX
Title
Non-finite Infinity/NaN decimal values bypass bounds constraints in Ash.Type.Decimal
Summary
Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value.
Ash.Type.Decimal cast input through Ecto's decimal cast in cast_input/2 and cast_stored/2 (lib/ash/type/decimal.ex) without checking that the resulting value is finite. Elixir's Decimal represents Infinity and NaN as valid structs, so a value such as "Infinity" or "NaN" passed casting and was persisted. Because NaN compares as false against every bound, min and max constraints do not reject it, and the stored special value later raises when used in Decimal arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite Decimal during casting.
This issue affects ash: from 1.28.0 before 3.32.2.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-01 15:14 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/ash-project/ash/security/advis… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-82734.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-82734 | related |
| https://github.com/ash-project/ash/commit/818087b… | patch |
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| ash-project | ash |
Affected:
1.28.0 , < 3.32.2
(semver)
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:* |
|
| ash-project | ash |
Affected:
db6bdfcf1518c70d67975efb140cdeb2cb6a76e7 , < 818087b1b3364f2af6f5460d6b01262ad0f69204
(git)
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-82734",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-01T15:14:56.006491Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-01T15:15:19.108Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/ash-project/ash/security/advisories/GHSA-mvvh-q33h-q62v"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Ash.Type.Decimal\u0027"
],
"packageName": "ash",
"packageURL": "pkg:hex/ash",
"product": "ash",
"programFiles": [
"lib/ash/type/decimal.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Ash.Type.Decimal\u0027:cast_input/2"
},
{
"name": "\u0027Elixir.Ash.Type.Decimal\u0027:cast_stored/2"
}
],
"repo": "https://github.com/ash-project/ash",
"vendor": "ash-project",
"versions": [
{
"lessThan": "3.32.2",
"status": "affected",
"version": "1.28.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Ash.Type.Decimal\u0027"
],
"packageName": "ash-project/ash",
"packageURL": "pkg:github/ash-project/ash",
"product": "ash",
"programFiles": [
"lib/ash/type/decimal.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Ash.Type.Decimal\u0027:cast_input/2"
},
{
"name": "\u0027Elixir.Ash.Type.Decimal\u0027:cast_stored/2"
}
],
"repo": "https://github.com/ash-project/ash",
"vendor": "ash-project",
"versions": [
{
"lessThan": "818087b1b3364f2af6f5460d6b01262ad0f69204",
"status": "affected",
"version": "db6bdfcf1518c70d67975efb140cdeb2cb6a76e7",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*",
"versionEndExcluding": "3.32.2",
"versionStartIncluding": "1.28.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "coordinator",
"value": "Jonatan M\u00e4nnchen / EEF"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Zach Daniel / Ash Project"
},
{
"lang": "en",
"type": "reporter",
"value": "Peter Ullrich"
},
{
"lang": "en",
"type": "finder",
"value": "Peter Ullrich"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eAsh.Type.Decimal\u003c/code\u003e cast input through Ecto\u0027s decimal cast in \u003ccode\u003ecast_input/2\u003c/code\u003e and \u003ccode\u003ecast_stored/2\u003c/code\u003e (\u003ccode\u003elib/ash/type/decimal.ex\u003c/code\u003e) without checking that the resulting value is finite. Elixir\u0027s \u003ccode\u003eDecimal\u003c/code\u003e represents \u003ccode\u003eInfinity\u003c/code\u003e and \u003ccode\u003eNaN\u003c/code\u003e as valid structs, so a value such as \u003ccode\u003e\"Infinity\"\u003c/code\u003e or \u003ccode\u003e\"NaN\"\u003c/code\u003e passed casting and was persisted. Because \u003ccode\u003eNaN\u003c/code\u003e compares as false against every bound, \u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e constraints do not reject it, and the stored special value later raises when used in \u003ccode\u003eDecimal\u003c/code\u003e arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite \u003ccode\u003eDecimal\u003c/code\u003e during casting.\u003c/p\u003e\n\u003cp\u003eThis issue affects ash: from 1.28.0 before 3.32.2.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value.\n\n`Ash.Type.Decimal` cast input through Ecto\u0027s decimal cast in `cast_input/2` and `cast_stored/2` (`lib/ash/type/decimal.ex`) without checking that the resulting value is finite. Elixir\u0027s `Decimal` represents `Infinity` and `NaN` as valid structs, so a value such as `\"Infinity\"` or `\"NaN\"` passed casting and was persisted. Because `NaN` compares as false against every bound, `min` and `max` constraints do not reject it, and the stored special value later raises when used in `Decimal` arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite `Decimal` during casting.\n\nThis issue affects ash: from 1.28.0 before 3.32.2."
}
],
"value": "Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value.\n\nAsh.Type.Decimal cast input through Ecto\u0027s decimal cast in cast_input/2 and cast_stored/2 (lib/ash/type/decimal.ex) without checking that the resulting value is finite. Elixir\u0027s Decimal represents Infinity and NaN as valid structs, so a value such as \"Infinity\" or \"NaN\" passed casting and was persisted. Because NaN compares as false against every bound, min and max constraints do not reject it, and the stored special value later raises when used in Decimal arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite Decimal during casting.\n\nThis issue affects ash: from 1.28.0 before 3.32.2."
}
],
"impacts": [
{
"capecId": "CAPEC-153",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-153 Input Data Manipulation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"baseScore": 2.1,
"baseSeverity": "LOW",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-01T03:17:15.389Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/ash-project/ash/security/advisories/GHSA-mvvh-q33h-q62v"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-82734.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-82734"
},
{
"tags": [
"patch"
],
"url": "https://github.com/ash-project/ash/commit/818087b1b3364f2af6f5460d6b01262ad0f69204"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Non-finite Infinity/NaN decimal values bypass bounds constraints in Ash.Type.Decimal"
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-82734",
"datePublished": "2026-09-01T03:17:15.389Z",
"dateReserved": "2026-08-31T00:59:10.001Z",
"dateUpdated": "2026-09-01T15:15:19.108Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-82397 (GCVE-0-2026-82397)
Vulnerability from cvelistv5 – Published: 2026-08-31 21:28 – Updated: 2026-09-02 17:39
VLAI
EPSS
VEX
Title
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
Summary
Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.8, Tornado parses application/x-www-form-urlencoded request bodies with urllib.parse.parse_qs in tornado/escape.py without passing max_num_fields. RequestHandler._execute in tornado/web.py parses the body before handler dispatch through HTTPServerRequest._parse_body and parse_body_arguments in tornado/httputil.py, so an unauthenticated request body containing millions of separator-delimited fields can synchronously stall the single-threaded event loop and delay every connection. The body is bounded only by max_buffer_size, which defaults to 104857600 bytes. This issue is fixed in version 6.5.8.
Severity
7.5 (High)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-02 17:39 UTC
CWE
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/tornadoweb/tornado/security/ad… | x_refsource_CONFIRM |
| https://github.com/tornadoweb/tornado/pull/3704 | x_refsource_MISC |
| https://github.com/tornadoweb/tornado/commit/8d63… | x_refsource_MISC |
| https://github.com/tornadoweb/tornado/releases/ta… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| tornadoweb | tornado |
Affected:
< 6.5.8
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-82397",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-02T17:39:28.982654Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-02T17:39:41.238Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "tornado",
"vendor": "tornadoweb",
"versions": [
{
"status": "affected",
"version": "\u003c 6.5.8"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.8, Tornado parses application/x-www-form-urlencoded request bodies with urllib.parse.parse_qs in tornado/escape.py without passing max_num_fields. RequestHandler._execute in tornado/web.py parses the body before handler dispatch through HTTPServerRequest._parse_body and parse_body_arguments in tornado/httputil.py, so an unauthenticated request body containing millions of separator-delimited fields can synchronously stall the single-threaded event loop and delay every connection. The body is bounded only by max_buffer_size, which defaults to 104857600 bytes. This issue is fixed in version 6.5.8."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-400",
"description": "CWE-400: Uncontrolled Resource Consumption",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284: Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-31T21:28:13.958Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/tornadoweb/tornado/security/advisories/GHSA-mpf4-983q-p7j4",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/tornadoweb/tornado/security/advisories/GHSA-mpf4-983q-p7j4"
},
{
"name": "https://github.com/tornadoweb/tornado/pull/3704",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/tornadoweb/tornado/pull/3704"
},
{
"name": "https://github.com/tornadoweb/tornado/commit/8d6363ed7b69d5f0da806efe34d256627a2191de",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/tornadoweb/tornado/commit/8d6363ed7b69d5f0da806efe34d256627a2191de"
},
{
"name": "https://github.com/tornadoweb/tornado/releases/tag/v6.5.8",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/tornadoweb/tornado/releases/tag/v6.5.8"
}
],
"source": {
"advisory": "GHSA-mpf4-983q-p7j4",
"discovery": "UNKNOWN"
},
"title": "Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-82397",
"datePublished": "2026-08-31T21:28:13.958Z",
"dateReserved": "2026-08-28T22:00:43.512Z",
"dateUpdated": "2026-09-02T17:39:41.238Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-81851 (GCVE-0-2026-81851)
Vulnerability from cvelistv5 – Published: 2026-08-27 22:58 – Updated: 2026-08-28 15:57
VLAI
EPSS
VEX
Title
Fireware OS Heap-Based Buffer Overflow in iked Allows Denial of Service
Summary
A heap-based buffer overflow vulnerability in Fireware OS's iked process allows an authenticated administrator to crash the IKE daemon (iked), resulting in a denial of service, by saving a specially crafted configuration.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-28 14:33 UTC
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://psirt.watchguard.com/CVE-2026-81851 | vendor-advisory |
Impacted products
3 products
| Vendor | Product | Version | |
|---|---|---|---|
| WatchGuard | Fireware OS |
Affected:
2025.0 , < 2026.2.1
(custom)
Affected: 12.0 , < 12.12.1 (custom) |
|
| WatchGuard | Fireware OS |
Affected:
12.0 , < 12.11.9
(custom)
|
|
| WatchGuard | Fireware OS |
Affected:
12.0 , < 12.5.18
(custom)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-81851",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-28T14:33:09.128484Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-28T15:57:26.539Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"platforms": [
"Default"
],
"product": "Fireware OS",
"vendor": "WatchGuard",
"versions": [
{
"lessThan": "2026.2.1",
"status": "affected",
"version": "2025.0",
"versionType": "custom"
},
{
"lessThan": "12.12.1",
"status": "affected",
"version": "12.0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"EUCC"
],
"product": "Fireware OS",
"vendor": "WatchGuard",
"versions": [
{
"lessThan": "12.11.9",
"status": "affected",
"version": "12.0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"T15/T35"
],
"product": "Fireware OS",
"vendor": "WatchGuard",
"versions": [
{
"lessThan": "12.5.18",
"status": "affected",
"version": "12.0",
"versionType": "custom"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:watchguard:fireware_os:*:*:*:*:*:*:*:*",
"versionEndExcluding": "12.11.9",
"versionStartIncluding": "12.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:watchguard:fireware_os:*:*:*:*:*:*:*:*",
"versionEndExcluding": "12.5.18",
"versionStartIncluding": "12.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:watchguard:fireware_os:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2026.2.1",
"versionStartIncluding": "2025.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:watchguard:fireware_os:*:*:*:*:*:*:*:*",
"versionEndExcluding": "12.12.1",
"versionStartIncluding": "12.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Cody Sixteen"
}
],
"descriptions": [
{
"lang": "en",
"value": "A heap-based buffer overflow vulnerability in Fireware OS\u0027s iked process allows an authenticated administrator to crash the IKE daemon (iked), resulting in a denial of service, by saving a specially crafted configuration."
}
],
"exploits": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "WatchGuard is not aware of any exploitation of this vulnerability in the wild."
}
],
"value": "WatchGuard is not aware of any exploitation of this vulnerability in the wild."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 6.9,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-122",
"description": "CWE-122",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-1284",
"description": "CWE-1284",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-27T22:58:26.855Z",
"orgId": "5d1c2695-1a31-4499-88ae-e847036fd7e3",
"shortName": "WatchGuard"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://psirt.watchguard.com/CVE-2026-81851"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eFireware OS 2026.2.1, Fireware OS 12.12.1, Fireware OS 12.11.9, Fireware OS 12.5.18\u003c/p\u003e"
}
],
"value": "Fireware OS 2026.2.1, Fireware OS 12.12.1, Fireware OS 12.11.9, Fireware OS 12.5.18"
}
],
"title": "Fireware OS Heap-Based Buffer Overflow in iked Allows Denial of Service"
}
},
"cveMetadata": {
"assignerOrgId": "5d1c2695-1a31-4499-88ae-e847036fd7e3",
"assignerShortName": "WatchGuard",
"cveId": "CVE-2026-81851",
"datePublished": "2026-08-27T22:58:26.855Z",
"dateReserved": "2026-08-27T16:29:07.182Z",
"dateUpdated": "2026-08-28T15:57:26.539Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-81779 (GCVE-0-2026-81779)
Vulnerability from cvelistv5 – Published: 2026-08-31 20:42 – Updated: 2026-09-01 13:48 X_Open Source
VLAI
EPSS
VEX
Title
WordPress Newspapers X theme 1.0.46-1.0.48 - Backdoor vulnerability
Summary
Improper Validation of Specified Quantity in Input vulnerability in Silk Themes Newspapers X allows Malicious Software Implanted.
This issue affects Newspapers X: from 1.0.46 through 1.0.48.
Severity
10 (Critical)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-01 13:47 UTC
CWE
- CWE-1284 - Improper Validation of Specified Quantity in Input
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://patchstack.com/database/wordpress/theme/n… | vdb-entry |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Silk Themes | Newspapers X |
Affected:
1.0.46 , ≤ 1.0.48
(custom)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-81779",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-01T13:47:20.969676Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-01T13:48:21.018Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://wordpress.org/themes",
"defaultStatus": "unaffected",
"packageName": "newspapers-x",
"product": "Newspapers X",
"vendor": "Silk Themes",
"versions": [
{
"changes": [
{
"at": "1.0.49",
"status": "unaffected"
}
],
"lessThanOrEqual": "1.0.48",
"status": "affected",
"version": "1.0.46",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"user": "00000000-0000-4000-9000-000000000000",
"value": "ashv4ni | Patchstack Bug Bounty Program"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Improper Validation of Specified Quantity in Input vulnerability in Silk Themes Newspapers X allows Malicious Software Implanted.\u003cp\u003eThis issue affects Newspapers X: from 1.0.46 through 1.0.48.\u003c/p\u003e"
}
],
"value": "Improper Validation of Specified Quantity in Input vulnerability in Silk Themes Newspapers X allows Malicious Software Implanted.\n\nThis issue affects Newspapers X: from 1.0.46 through 1.0.48."
}
],
"impacts": [
{
"capecId": "CAPEC-523",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-523 Malicious Software Implanted"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 10,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-1284",
"description": "CWE-1284 Improper Validation of Specified Quantity in Input",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-31T20:42:27.262Z",
"orgId": "21595511-bba5-4825-b968-b78d1f9984a3",
"shortName": "Patchstack"
},
"references": [
{
"tags": [
"vdb-entry"
],
"url": "https://patchstack.com/database/wordpress/theme/newspapers-x/vulnerability/wordpress-newspapers-x-theme-1-0-46-1-0-48-backdoor-vulnerability?_s_id=cve"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Update the WordPress Newspapers X Theme to the latest available version (at least 1.0.49)."
}
],
"value": "Update the WordPress Newspapers X Theme to the latest available version (at least 1.0.49)."
}
],
"source": {
"discovery": "EXTERNAL"
},
"tags": [
"x_open-source"
],
"title": "WordPress Newspapers X theme 1.0.46-1.0.48 - Backdoor vulnerability",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "21595511-bba5-4825-b968-b78d1f9984a3",
"assignerShortName": "Patchstack",
"cveId": "CVE-2026-81779",
"datePublished": "2026-08-31T20:42:27.262Z",
"dateReserved": "2026-08-27T12:24:25.082Z",
"dateUpdated": "2026-09-01T13:48:21.018Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Mitigation MIT-5
Implementation
Strategy: Input Validation
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
- Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
No CAPEC attack patterns related to this CWE.