Vision UI security-kit.js: Potential Uncontrolled Resource Allocation Vulnerability
Vision UI is a collection of enterprise-grade, dependency-free modules for modern web projects. In versions 1.4.0 and below, the generateSecureId and getSecureRandomInt functions in security-kit versions prior to 3.5.0 (packaged in Vision UI 1.4.0 and below) are vulnerable to Denial of Service (DoS) attacks. The generateSecureId(length) function directly used the length parameter to size a Uint8Array buffer, allowing attackers to exhaust server memory through repeated requests for large IDs since the previous 1024 limit was insufficient. The getSecureRandomInt(min, max) function calculated buffer size based on the range between min and max, where large ranges caused excessive memory allocation and CPU-intensive rejection-sampling loops that could hang the thread. This issue is fixed in version 1.5.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-54884
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 03:18 UTC · Revision 1
Source evidence
Vision UI security-kit.js: Potential Uncontrolled Resource Allocation Vulnerability
core-osv · Original sourcePublished 5 Aug 2025, 23:37 UTC
Vision UI is a collection of enterprise-grade, dependency-free modules for modern web projects. In versions 1.4.0 and below, the generateSecureId and getSecureRandomInt functions in security-kit versions prior to 3.5.0 (packaged in Vision UI 1.4.0 and below) are vulnerable to Denial of Service (DoS) attacks. The generateSecureId(length) function directly used the length parameter to size a Uint8Array buffer, allowing attackers to exhaust server memory through repeated requests for large IDs since the previous 1024 limit was insufficient. The getSecureRandomInt(min, max) function calculated buffer size based on the range between min and max, where large ranges caused excessive memory allocation and CPU-intensive rejection-sampling loops that could hang the thread. This issue is fixed in version 1.5.0.
osv:CVE-2025-54884
Complete source record
{
"id": "30ce1e3cd05eadc7e2b63252f0569b78ce379021b59083dbc64ed4bfff008276",
"url": "https://osv.dev/vulnerability/CVE-2025-54884",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Vision UI security-kit.js: Potential Uncontrolled Resource Allocation Vulnerability",
"summary": "Vision UI is a collection of enterprise-grade, dependency-free modules for modern web projects. In versions 1.4.0 and below, the generateSecureId and getSecureRandomInt functions in security-kit versions prior to 3.5.0 (packaged in Vision UI 1.4.0 and below) are vulnerable to Denial of Service (DoS) attacks. The generateSecureId(length) function directly used the length parameter to size a Uint8Array buffer, allowing attackers to exhaust server memory through repeated requests for large IDs since the previous 1024 limit was insufficient. The getSecureRandomInt(min, max) function calculated buffer size based on the range between min and max, where large ranges caused excessive memory allocation and CPU-intensive rejection-sampling loops that could hang the thread. This issue is fixed in version 1.5.0.",
"evidence": "osv:CVE-2025-54884",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2025-54884",
"aliases": [
"CVE-2025-54884",
"GHSA-gg28-wc2c-jjj3"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/davidosipov/vision-ui",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "f3e67769b7ded045d2feb48f2ad85cba991f02d5"
},
{
"fixed": "74802cd688b661a35e638fc96938d65ca7c05ff5"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.5.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "74802cd688b661a35e638fc96938d65ca7c05ff5"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "f3e67769b7ded045d2feb48f2ad85cba991f02d5"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.5.0"
}
]
}
}
],
"versions": [
"1.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-54884.json"
}
}
],
"modified": "2026-10-28T02:30:53.376873907Z",
"provider": "osv",
"references": [
"https://github.com/DavidOsipov/Vision-ui/releases/tag/1.5.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54884.json",
"https://github.com/DavidOsipov/Vision-ui/security/advisories/GHSA-gg28-wc2c-jjj3",
"https://nvd.nist.gov/vuln/detail/CVE-2025-54884",
"https://github.com/DavidOsipov/Vision-ui/commit/74802cd688b661a35e638fc96938d65ca7c05ff5"
],
"provider_metadata": {
"cwe_ids": [
"CWE-400",
"CWE-770"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54884.json"
}
},
"related_cves": [
{
"value": "CVE-2025-54884",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 522149,
"published_at": "2025-08-05T23:37:28.995+00:00"
}