Search
Find a vulnerability
Search criteria
ⓘ
Use this form to refine search results.
Full-text search supports keyword queries with ranking and filtering.
You can combine vendor, product, and sources to narrow results.
Enable “Apply ordering” to sort by date instead of relevance.
73 vulnerabilities
CVE-2026-107911 (GCVE-0-2026-107911)
Vulnerability from cvelistv5 – Published: 2026-10-09 05:08 – Updated: 2026-10-09 16:47
VLAI
EPSS
VEX
Title
Type confusion in FalkorDB GRAPH.QUERY via the --bolt argument
Summary
A type confusion vulnerability in the _read_flags function (src/commands/cmd_dispatcher.c) in FalkorDB before 4.20.0 allows a remote authenticated attacker who can run GRAPH.QUERY to cause a denial of service and possibly disclose or corrupt memory. The function accepts a --bolt argument from any client and casts the following command argument, a Redis string object, to a Bolt client structure without checking its origin; the result-set code then dereferences pointers read from that object. The argument is parsed even when the Bolt endpoint is disabled, so default configurations are affected.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-09 16:16 UTC
CWE
- CWE-843 - Access of Resource Using Incompatible Type ('Type Confusion')
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/2170 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/0b11a… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107911",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-09T16:16:18.088362Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T16:47:39.583Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"GRAPH.QUERY command argument parsing"
],
"product": "FalkorDB",
"programFiles": [
"src/commands/cmd_dispatcher.c"
],
"programRoutines": [
{
"name": "_read_flags"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.20.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A type confusion vulnerability in the _read_flags function (src/commands/cmd_dispatcher.c) in FalkorDB before 4.20.0 allows a remote authenticated attacker who can run GRAPH.QUERY to cause a denial of service and possibly disclose or corrupt memory. The function accepts a --bolt argument from any client and casts the following command argument, a Redis string object, to a Bolt client structure without checking its origin; the result-set code then dereferences pointers read from that object. The argument is parsed even when the Bolt endpoint is disabled, so default configurations are affected."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 7.7,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-843",
"description": "CWE-843 Access of Resource Using Incompatible Type (\u0027Type Confusion\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T05:08:14.899Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #2170",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/2170"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/0b11a00b34b25c4d4fdfe55f0a35c8a00593bd7d"
},
{
"name": "FalkorDB 4.20.0 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.20.0"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.20.0 or later. Bolt protocol support, including the code affected by this issue, was removed in 4.20.0."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Vendor acknowledged the report"
},
{
"lang": "en",
"time": "2026-07-08T00:00:00.000Z",
"value": "Vendor removed Bolt protocol support (PR #2170)"
},
{
"lang": "en",
"time": "2026-07-13T00:00:00.000Z",
"value": "FalkorDB 4.20.0 released without Bolt support"
},
{
"lang": "en",
"time": "2026-09-27T00:00:00.000Z",
"value": "Coordinated disclosure period ended"
}
],
"title": "Type confusion in FalkorDB GRAPH.QUERY via the --bolt argument",
"workarounds": [
{
"lang": "en",
"value": "Use Redis ACLs to restrict the GRAPH.QUERY command to trusted users, and do not expose the instance to untrusted networks."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107911",
"datePublished": "2026-10-09T05:08:14.899Z",
"dateReserved": "2026-10-09T04:55:02.081Z",
"dateUpdated": "2026-10-09T16:47:39.583Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107910 (GCVE-0-2026-107910)
Vulnerability from cvelistv5 – Published: 2026-10-09 05:08 – Updated: 2026-10-09 05:08
VLAI
EPSS
VEX
Title
Authentication bypass in FalkorDB Bolt endpoint via fail-open AUTH probe error handling
Summary
An improper authentication vulnerability in the is_authenticated function (src/bolt/bolt_api.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to execute graph queries without credentials through the Bolt endpoint. The function decides whether a password is required by issuing an empty AUTH command to Redis and treats only a WRONGPASS error as meaning that a password is required; any other error, such as LOADING while a dataset is being loaded, MASTERDOWN during replication failover, or OOM under memory pressure, causes the client to be treated as authenticated. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected.
Severity
8.1 (High)
CWE
- CWE-287 - Improper Authentication
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/2170 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/0b11a… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Bolt protocol endpoint"
],
"product": "FalkorDB",
"programFiles": [
"src/bolt/bolt_api.c"
],
"programRoutines": [
{
"name": "is_authenticated"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.20.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "An improper authentication vulnerability in the is_authenticated function (src/bolt/bolt_api.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to execute graph queries without credentials through the Bolt endpoint. The function decides whether a password is required by issuing an empty AUTH command to Redis and treats only a WRONGPASS error as meaning that a password is required; any other error, such as LOADING while a dataset is being loaded, MASTERDOWN during replication failover, or OOM under memory pressure, causes the client to be treated as authenticated. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected."
}
],
"impacts": [
{
"capecId": "CAPEC-115",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-115 Authentication Bypass"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 9.2,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 8.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-287",
"description": "CWE-287 Improper Authentication",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T05:08:13.092Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #2170",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/2170"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/0b11a00b34b25c4d4fdfe55f0a35c8a00593bd7d"
},
{
"name": "FalkorDB 4.20.0 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.20.0"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.20.0 or later. Bolt protocol support, including the code affected by this issue, was removed in 4.20.0."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Vendor acknowledged the report"
},
{
"lang": "en",
"time": "2026-07-08T00:00:00.000Z",
"value": "Vendor removed Bolt protocol support (PR #2170)"
},
{
"lang": "en",
"time": "2026-07-13T00:00:00.000Z",
"value": "FalkorDB 4.20.0 released without Bolt support"
},
{
"lang": "en",
"time": "2026-09-27T00:00:00.000Z",
"value": "Coordinated disclosure period ended"
}
],
"title": "Authentication bypass in FalkorDB Bolt endpoint via fail-open AUTH probe error handling",
"workarounds": [
{
"lang": "en",
"value": "Leave the Bolt endpoint disabled (do not set the BOLT_PORT module configuration; it is disabled by default), or restrict network access to the Bolt port to trusted clients."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107910",
"datePublished": "2026-10-09T05:08:13.092Z",
"dateReserved": "2026-10-09T04:54:55.521Z",
"dateUpdated": "2026-10-09T05:08:13.092Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107909 (GCVE-0-2026-107909)
Vulnerability from cvelistv5 – Published: 2026-10-09 05:08 – Updated: 2026-10-09 05:08
VLAI
EPSS
VEX
Title
Pre-authentication heap out-of-bounds write in FalkorDB Bolt WebSocket frame handling via unbounded payload length
Summary
A heap-based out-of-bounds write in the ws_read_frame function (src/bolt/ws.c) and the buffer_apply_mask function (src/bolt/buffer.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to cause a denial of service and possibly corrupt heap memory by sending a WebSocket frame with a 64-bit extended payload length to the Bolt port. The payload length is not bounded, and the only bounds check in buffer_apply_mask is an ASSERT(), which is compiled out in release builds, so the function XORs memory beyond the end of the receive buffer with the attacker-supplied mask key. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected.
Severity
9.1 (Critical)
CWE
- CWE-787 - Out-of-bounds Write
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/2170 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/0b11a… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Bolt protocol endpoint"
],
"product": "FalkorDB",
"programFiles": [
"src/bolt/ws.c",
"src/bolt/buffer.c"
],
"programRoutines": [
{
"name": "ws_read_frame"
},
{
"name": "buffer_apply_mask"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.20.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A heap-based out-of-bounds write in the ws_read_frame function (src/bolt/ws.c) and the buffer_apply_mask function (src/bolt/buffer.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to cause a denial of service and possibly corrupt heap memory by sending a WebSocket frame with a 64-bit extended payload length to the Bolt port. The payload length is not bounded, and the only bounds check in buffer_apply_mask is an ASSERT(), which is compiled out in release builds, so the function XORs memory beyond the end of the receive buffer with the attacker-supplied mask key. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected."
}
],
"impacts": [
{
"capecId": "CAPEC-100",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-100 Overflow Buffers"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "CWE-787 Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T05:08:12.082Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #2170",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/2170"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/0b11a00b34b25c4d4fdfe55f0a35c8a00593bd7d"
},
{
"name": "FalkorDB 4.20.0 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.20.0"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.20.0 or later. Bolt protocol support, including the code affected by this issue, was removed in 4.20.0."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Vendor acknowledged the report"
},
{
"lang": "en",
"time": "2026-07-08T00:00:00.000Z",
"value": "Vendor removed Bolt protocol support (PR #2170)"
},
{
"lang": "en",
"time": "2026-07-13T00:00:00.000Z",
"value": "FalkorDB 4.20.0 released without Bolt support"
},
{
"lang": "en",
"time": "2026-09-27T00:00:00.000Z",
"value": "Coordinated disclosure period ended"
}
],
"title": "Pre-authentication heap out-of-bounds write in FalkorDB Bolt WebSocket frame handling via unbounded payload length",
"workarounds": [
{
"lang": "en",
"value": "Leave the Bolt endpoint disabled (do not set the BOLT_PORT module configuration; it is disabled by default), or restrict network access to the Bolt port to trusted clients."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107909",
"datePublished": "2026-10-09T05:08:12.082Z",
"dateReserved": "2026-10-09T04:54:48.677Z",
"dateUpdated": "2026-10-09T05:08:12.082Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107908 (GCVE-0-2026-107908)
Vulnerability from cvelistv5 – Published: 2026-10-09 05:08 – Updated: 2026-10-09 05:08
VLAI
EPSS
VEX
Title
Pre-authentication heap out-of-bounds write in FalkorDB Bolt BoltReadHandler via RESET message
Summary
A heap-based out-of-bounds write in the BoltReadHandler function (src/bolt/bolt_api.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to cause a denial of service and possibly execute arbitrary code by sending a Bolt RESET message with an attacker-chosen chunk size to the Bolt port. The handler checks the size only with ASSERT(), which is compiled out in release builds, then computes a destination pointer from the wire-supplied 16-bit size and moves buffered data up to about 64 KiB backwards past the start of the read buffer. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected.
Severity
9.8 (Critical)
CWE
- CWE-787 - Out-of-bounds Write
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/2170 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/0b11a… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Bolt protocol endpoint"
],
"product": "FalkorDB",
"programFiles": [
"src/bolt/bolt_api.c"
],
"programRoutines": [
{
"name": "BoltReadHandler"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.20.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A heap-based out-of-bounds write in the BoltReadHandler function (src/bolt/bolt_api.c) in FalkorDB before 4.20.0 allows a remote unauthenticated attacker to cause a denial of service and possibly execute arbitrary code by sending a Bolt RESET message with an attacker-chosen chunk size to the Bolt port. The handler checks the size only with ASSERT(), which is compiled out in release builds, then computes a destination pointer from the wire-supplied 16-bit size and moves buffered data up to about 64 KiB backwards past the start of the read buffer. Only deployments that enable the Bolt endpoint (BOLT_PORT, disabled by default) are affected."
}
],
"impacts": [
{
"capecId": "CAPEC-100",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-100 Overflow Buffers"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "CWE-787 Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T05:08:06.419Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #2170",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/2170"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/0b11a00b34b25c4d4fdfe55f0a35c8a00593bd7d"
},
{
"name": "FalkorDB 4.20.0 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.20.0"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.20.0 or later. Bolt protocol support, including the code affected by this issue, was removed in 4.20.0."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-06-29T00:00:00.000Z",
"value": "Vendor acknowledged the report"
},
{
"lang": "en",
"time": "2026-07-08T00:00:00.000Z",
"value": "Vendor removed Bolt protocol support (PR #2170)"
},
{
"lang": "en",
"time": "2026-07-13T00:00:00.000Z",
"value": "FalkorDB 4.20.0 released without Bolt support"
},
{
"lang": "en",
"time": "2026-09-27T00:00:00.000Z",
"value": "Coordinated disclosure period ended"
}
],
"title": "Pre-authentication heap out-of-bounds write in FalkorDB Bolt BoltReadHandler via RESET message",
"workarounds": [
{
"lang": "en",
"value": "Leave the Bolt endpoint disabled (do not set the BOLT_PORT module configuration; it is disabled by default), or restrict network access to the Bolt port to trusted clients."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107908",
"datePublished": "2026-10-09T05:08:06.419Z",
"dateReserved": "2026-10-09T04:54:39.618Z",
"dateUpdated": "2026-10-09T05:08:06.419Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7826 (GCVE-0-2026-7826)
Vulnerability from cvelistv5 – Published: 2026-10-09 04:04 – Updated: 2026-10-09 04:04
VLAI
EPSS
VEX
Title
Heap out-of-bounds read in FalkorDB BufferSerializerIOv2_ReadBuffer via crafted RDB
Summary
A heap-based out-of-bounds read in the BufferSerializerIOv2_ReadBuffer function (src/serializers/serializer_io.c) in FalkorDB before 4.18.4 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or disclose heap memory by supplying a crafted RDB stream whose sub-buffer length field exceeds the remaining buffer size. The only bounds check is an ASSERT(), which is compiled out in release builds, so memcpy() reads past the end of the heap allocation.
Severity
9.1 (Critical)
CWE
- CWE-125 - Out-of-bounds Read
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/1972 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/55d98… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"RDB serializer / graph decoder"
],
"product": "FalkorDB",
"programFiles": [
"src/serializers/serializer_io.c"
],
"programRoutines": [
{
"name": "BufferSerializerIOv2_ReadBuffer"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.18.4",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A heap-based out-of-bounds read in the BufferSerializerIOv2_ReadBuffer function (src/serializers/serializer_io.c) in FalkorDB before 4.18.4 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or disclose heap memory by supplying a crafted RDB stream whose sub-buffer length field exceeds the remaining buffer size. The only bounds check is an ASSERT(), which is compiled out in release builds, so memcpy() reads past the end of the heap allocation."
}
],
"impacts": [
{
"capecId": "CAPEC-540",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-540 Overread Buffers"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125 Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T04:04:30.130Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #1972",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/1972"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/55d986f45ecd5d80f7a9e5e138e8b0f96535b48c"
},
{
"name": "FalkorDB 4.18.4 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.4"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.18.4 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-04-24T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-05-05T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-05-07T00:00:00.000Z",
"value": "Fix merged by the vendor (PR #1972)"
},
{
"lang": "en",
"time": "2026-05-07T00:00:00.000Z",
"value": "FalkorDB 4.18.4 released with the fix"
}
],
"title": "Heap out-of-bounds read in FalkorDB BufferSerializerIOv2_ReadBuffer via crafted RDB",
"workarounds": [
{
"lang": "en",
"value": "Require authentication on the Redis/FalkorDB instance (requirepass or ACLs), restrict or rename the REPLICAOF/SLAVEOF commands so untrusted clients cannot use them, and do not expose the instance to untrusted networks."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7826",
"datePublished": "2026-10-09T04:04:30.130Z",
"dateReserved": "2026-05-05T02:50:40.051Z",
"dateUpdated": "2026-10-09T04:04:30.130Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7827 (GCVE-0-2026-7827)
Vulnerability from cvelistv5 – Published: 2026-10-09 04:04 – Updated: 2026-10-09 16:47
VLAI
EPSS
VEX
Title
Stack-based buffer overflow in FalkorDB _RdbLoadEntity via unbounded property count in crafted RDB
Summary
A stack-based buffer overflow in the _RdbLoadEntity function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.4 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service and possibly execute arbitrary code by supplying a crafted RDB stream with an attacker-controlled entity property count. The count sizes two variable-length arrays on the thread stack with no upper bound, and the decoder then fills them with attacker-supplied values.
Severity
8.1 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-09 16:16 UTC
CWE
- CWE-121 - Stack-based Buffer Overflow
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/1973 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/7d154… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7827",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-09T16:16:19.507878Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T16:47:46.031Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"RDB serializer / graph decoder"
],
"product": "FalkorDB",
"programFiles": [
"src/serializers/decoders/current/v19/decode_graph_entities.c",
"src/serializers/decoders/prev/v18/decode_graph_entities.c",
"src/serializers/decoders/prev/v17/decode_graph_entities.c",
"src/serializers/decoders/prev/v16/decode_graph_entities.c",
"src/serializers/decoders/prev/v15/decode_graph_entities.c",
"src/serializers/decoders/prev/v14/decode_graph_entities.c",
"src/serializers/decoders/prev/v13/decode_graph_entities.c",
"src/serializers/decoders/prev/v12/decode_graph_entities.c",
"src/serializers/decoders/prev/v11/decode_graph_entities.c",
"src/serializers/decoders/prev/v10/decode_graph_entities.c"
],
"programRoutines": [
{
"name": "_RdbLoadEntity"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.18.4",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A stack-based buffer overflow in the _RdbLoadEntity function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.4 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service and possibly execute arbitrary code by supplying a crafted RDB stream with an attacker-controlled entity property count. The count sizes two variable-length arrays on the thread stack with no upper bound, and the decoder then fills them with attacker-supplied values."
}
],
"impacts": [
{
"capecId": "CAPEC-100",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-100 Overflow Buffers"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 9.2,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 8.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-121",
"description": "CWE-121 Stack-based Buffer Overflow",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T04:04:29.094Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #1973",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/1973"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/7d15431aadf37588fadc2578b90c3afb5e8daa94"
},
{
"name": "FalkorDB 4.18.4 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.4"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.18.4 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-04-24T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-05-05T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-05-07T00:00:00.000Z",
"value": "Fix merged by the vendor (PR #1973)"
},
{
"lang": "en",
"time": "2026-05-07T00:00:00.000Z",
"value": "FalkorDB 4.18.4 released with the fix"
}
],
"title": "Stack-based buffer overflow in FalkorDB _RdbLoadEntity via unbounded property count in crafted RDB",
"workarounds": [
{
"lang": "en",
"value": "Require authentication on the Redis/FalkorDB instance (requirepass or ACLs), restrict or rename the REPLICAOF/SLAVEOF commands so untrusted clients cannot use them, and do not expose the instance to untrusted networks."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7827",
"datePublished": "2026-10-09T04:04:29.094Z",
"dateReserved": "2026-05-05T02:50:42.544Z",
"dateUpdated": "2026-10-09T16:47:46.031Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-5759 (GCVE-0-2026-5759)
Vulnerability from cvelistv5 – Published: 2026-10-09 04:04 – Updated: 2026-10-13 17:01
VLAI
EPSS
VEX
Title
Double free and use-after-free in FalkorDB RdbLoadDeletedNodes allows remote code execution via crafted RDB
Summary
A double free and use-after-free vulnerability in the RdbLoadDeletedNodes function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.1 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or execute arbitrary code in the redis-server process by supplying a crafted RDB stream whose deleted-nodes buffer length is not a multiple of sizeof(NodeID). The length check relies on ASSERT(), which is compiled out in release builds, so the function continues after freeing the buffer, reading it and freeing it a second time.
Severity
9.8 (Critical)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-13 15:28 UTC
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/FalkorDB/FalkorDB/pull/1843 | patch |
| https://github.com/FalkorDB/FalkorDB/commit/523d9… | patch |
| https://github.com/FalkorDB/FalkorDB/releases/tag… | release-notes |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-5759",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-13T15:28:40.207197Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T17:01:45.296Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/FalkorDB/FalkorDB",
"cpes": [
"cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"RDB serializer / graph decoder"
],
"product": "FalkorDB",
"programFiles": [
"src/serializers/decoders/current/v19/decode_graph_entities.c",
"src/serializers/decoders/prev/v18/decode_graph_entities.c",
"src/serializers/decoders/prev/v17/decode_graph_entities.c"
],
"programRoutines": [
{
"name": "RdbLoadDeletedNodes_v17"
},
{
"name": "RdbLoadDeletedNodes_v18"
},
{
"name": "RdbLoadDeletedNodes_v19"
}
],
"repo": "https://github.com/FalkorDB/FalkorDB",
"vendor": "FalkorDB",
"versions": [
{
"lessThan": "4.18.1",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A double free and use-after-free vulnerability in the RdbLoadDeletedNodes function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.1 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or execute arbitrary code in the redis-server process by supplying a crafted RDB stream whose deleted-nodes buffer length is not a multiple of sizeof(NodeID). The length check relies on ASSERT(), which is compiled out in release builds, so the function continues after freeing the buffer, reading it and freeing it a second time."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-415",
"description": "CWE-415 Double Free",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-416",
"description": "CWE-416 Use After Free",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-09T04:04:28.078Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "FalkorDB PR #1843",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/pull/1843"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/FalkorDB/FalkorDB/commit/523d98ac7ffe99f11a9c95c258025c235f0dff4c"
},
{
"name": "FalkorDB 4.18.1 release notes",
"tags": [
"release-notes"
],
"url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.1"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade FalkorDB to version 4.18.1 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-04-07T00:00:00.000Z",
"value": "Reported to FalkorDB"
},
{
"lang": "en",
"time": "2026-04-10T00:00:00.000Z",
"value": "Fix merged by the vendor (PR #1843)"
},
{
"lang": "en",
"time": "2026-04-12T00:00:00.000Z",
"value": "FalkorDB 4.18.1 released with the fix"
},
{
"lang": "en",
"time": "2026-04-13T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
}
],
"title": "Double free and use-after-free in FalkorDB RdbLoadDeletedNodes allows remote code execution via crafted RDB",
"workarounds": [
{
"lang": "en",
"value": "Require authentication on the Redis/FalkorDB instance (requirepass or ACLs), restrict or rename the REPLICAOF/SLAVEOF commands so untrusted clients cannot use them, and do not expose the instance to untrusted networks."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-5759",
"datePublished": "2026-10-09T04:04:28.078Z",
"dateReserved": "2026-04-07T17:26:12.107Z",
"dateUpdated": "2026-10-13T17:01:45.296Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107615 (GCVE-0-2026-107615)
Vulnerability from cvelistv5 – Published: 2026-10-08 13:39 – Updated: 2026-10-08 14:00
VLAI
EPSS
VEX
Title
DLL search order hijacking via screenhooks libraries in TightVNC Server
Summary
An uncontrolled search path element vulnerability in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to execute arbitrary code with SYSTEM privileges. DynamicLibrary::init() (and ThemeLib) load screenhooks32.dll / screenhooks64.dll with LoadLibrary() using a bare file name and no LOAD_LIBRARY_SEARCH_* flags, so the TightVNC service follows the default DLL search order and loads an attacker-planted DLL from a writable directory earlier in that order (for example, an installation directory with permissive ACLs).
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:00 UTC
CWE
- CWE-427 - Uncontrolled Search Path Element
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://sourceforge.net/p/vnc-tight/bugs/1666/ | issue-tracking |
| https://www.tightvnc.com/whatsnew.php | release-notespatch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107615",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:00:03.531511Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:00:27.042Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"TightVNC Server (screen hooks loader)"
],
"platforms": [
"Windows"
],
"product": "TightVNC",
"programFiles": [
"DynamicLibrary.cpp",
"ThemeLib.cpp"
],
"programRoutines": [
{
"name": "DynamicLibrary::init()"
}
],
"vendor": "GlavSoft",
"versions": [
{
"lessThan": "2.8.88",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "An uncontrolled search path element vulnerability in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to execute arbitrary code with SYSTEM privileges. DynamicLibrary::init() (and ThemeLib) load screenhooks32.dll / screenhooks64.dll with LoadLibrary() using a bare file name and no LOAD_LIBRARY_SEARCH_* flags, so the TightVNC service follows the default DLL search order and loads an attacker-planted DLL from a writable directory earlier in that order (for example, an installation directory with permissive ACLs)."
}
],
"impacts": [
{
"capecId": "CAPEC-471",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-471 Search Order Hijacking"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-427",
"description": "CWE-427 Uncontrolled Search Path Element",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T13:39:59.358Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "TightVNC bug #1666",
"tags": [
"issue-tracking"
],
"url": "https://sourceforge.net/p/vnc-tight/bugs/1666/"
},
{
"name": "TightVNC release notes (2.8.88)",
"tags": [
"release-notes",
"patch"
],
"url": "https://www.tightvnc.com/whatsnew.php"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade TightVNC for Windows to version 2.8.88 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-30T00:00:00.000Z",
"value": "Reported to GlavSoft"
},
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vendor acknowledged"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "TightVNC 2.8.88 released with fix"
}
],
"title": "DLL search order hijacking via screenhooks libraries in TightVNC Server",
"workarounds": [
{
"lang": "en",
"value": "Ensure the TightVNC installation directory and every directory on the system PATH are writable only by administrators."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107615",
"datePublished": "2026-10-08T13:39:59.358Z",
"dateReserved": "2026-10-08T13:23:07.677Z",
"dateUpdated": "2026-10-08T14:00:27.042Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107614 (GCVE-0-2026-107614)
Vulnerability from cvelistv5 – Published: 2026-10-08 13:39 – Updated: 2026-10-08 14:01
VLAI
EPSS
VEX
Title
Integer underflow in TightVNC Server cursor shape trimming leads to out-of-bounds read
Summary
An integer underflow in WinCursorShapeUtils::trimTransparent() in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to crash the server, and potentially read out-of-bounds memory, by causing a cursor shape with a width or height of zero to be processed on the DXGI capture path. The loop bound width - 1 wraps to 0xFFFFFFFF, producing an access roughly 4 GB beyond the 64 KB cursor buffer; a monochrome cursor of height 1 also becomes 0 because getCursorHeight() halves the height in place.
Severity
6.1 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:00 UTC
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://sourceforge.net/p/vnc-tight/bugs/1661/ | issue-tracking |
| https://www.tightvnc.com/whatsnew.php | release-notespatch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107614",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:00:49.369592Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:01:01.624Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"TightVNC Server (cursor shape processing)"
],
"platforms": [
"Windows"
],
"product": "TightVNC",
"programFiles": [
"WinCursorShapeUtils.cpp"
],
"programRoutines": [
{
"name": "WinCursorShapeUtils::trimTransparent()"
},
{
"name": "getCursorHeight()"
}
],
"vendor": "GlavSoft",
"versions": [
{
"lessThan": "2.8.88",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "An integer underflow in WinCursorShapeUtils::trimTransparent() in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to crash the server, and potentially read out-of-bounds memory, by causing a cursor shape with a width or height of zero to be processed on the DXGI capture path. The loop bound width - 1 wraps to 0xFFFFFFFF, producing an access roughly 4 GB beyond the 64 KB cursor buffer; a monochrome cursor of height 1 also becomes 0 because getCursorHeight() halves the height in place."
}
],
"impacts": [
{
"capecId": "CAPEC-540",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-540 Overread Buffers"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 6.1,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-191",
"description": "CWE-191 Integer Underflow (Wrap or Wraparound)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125 Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T13:39:58.297Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "TightVNC bug #1661",
"tags": [
"issue-tracking"
],
"url": "https://sourceforge.net/p/vnc-tight/bugs/1661/"
},
{
"name": "TightVNC release notes (2.8.88)",
"tags": [
"release-notes",
"patch"
],
"url": "https://www.tightvnc.com/whatsnew.php"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade TightVNC for Windows to version 2.8.88 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-30T00:00:00.000Z",
"value": "Reported to GlavSoft"
},
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vendor acknowledged"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "TightVNC 2.8.88 released with fix"
}
],
"title": "Integer underflow in TightVNC Server cursor shape trimming leads to out-of-bounds read"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107614",
"datePublished": "2026-10-08T13:39:58.297Z",
"dateReserved": "2026-10-08T13:23:07.677Z",
"dateUpdated": "2026-10-08T14:01:01.624Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107613 (GCVE-0-2026-107613)
Vulnerability from cvelistv5 – Published: 2026-10-08 13:39 – Updated: 2026-10-08 14:01
VLAI
EPSS
VEX
Title
NULL pointer dereference in TightVNC Server Win8ScreenDriver after failed DXGI re-initialization
Summary
A NULL pointer dereference vulnerability in the Win8ScreenDriver component of GlavSoft TightVNC Server for Windows before 2.8.88 allows an attacker to crash the server, causing a denial of service. When re-initialization of the DXGI Desktop Duplication driver fails in applyNewScreenProperties() (for example after a GPU reset, display hot-plug or session change), m_drvImpl is left NULL and is subsequently dereferenced without a check by executeDetection(), getScreenBuffer(), grabFb(), getScreenPropertiesChanged() and getCursorPosition().
Severity
5.9 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:01 UTC
CWE
- CWE-476 - NULL Pointer Dereference
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://sourceforge.net/p/vnc-tight/bugs/1660/ | issue-tracking |
| https://www.tightvnc.com/whatsnew.php | release-notespatch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107613",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:01:21.134363Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:01:33.803Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"TightVNC Server (Win8/DXGI screen driver)"
],
"platforms": [
"Windows"
],
"product": "TightVNC",
"programFiles": [
"Win8ScreenDriver.cpp"
],
"programRoutines": [
{
"name": "Win8ScreenDriver::applyNewScreenProperties()"
},
{
"name": "Win8ScreenDriver::executeDetection()"
},
{
"name": "Win8ScreenDriver::getScreenBuffer()"
},
{
"name": "Win8ScreenDriver::grabFb()"
},
{
"name": "Win8ScreenDriver::getScreenPropertiesChanged()"
},
{
"name": "Win8ScreenDriver::getCursorPosition()"
}
],
"vendor": "GlavSoft",
"versions": [
{
"lessThan": "2.8.88",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A NULL pointer dereference vulnerability in the Win8ScreenDriver component of GlavSoft TightVNC Server for Windows before 2.8.88 allows an attacker to crash the server, causing a denial of service. When re-initialization of the DXGI Desktop Duplication driver fails in applyNewScreenProperties() (for example after a GPU reset, display hot-plug or session change), m_drvImpl is left NULL and is subsequently dereferenced without a check by executeDetection(), getScreenBuffer(), grabFb(), getScreenPropertiesChanged() and getCursorPosition()."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-476",
"description": "CWE-476 NULL Pointer Dereference",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T13:39:56.972Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "TightVNC bug #1660",
"tags": [
"issue-tracking"
],
"url": "https://sourceforge.net/p/vnc-tight/bugs/1660/"
},
{
"name": "TightVNC release notes (2.8.88)",
"tags": [
"release-notes",
"patch"
],
"url": "https://www.tightvnc.com/whatsnew.php"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade TightVNC for Windows to version 2.8.88 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-30T00:00:00.000Z",
"value": "Reported to GlavSoft"
},
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vendor acknowledged"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "TightVNC 2.8.88 released with fix"
}
],
"title": "NULL pointer dereference in TightVNC Server Win8ScreenDriver after failed DXGI re-initialization"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107613",
"datePublished": "2026-10-08T13:39:56.972Z",
"dateReserved": "2026-10-08T13:23:07.677Z",
"dateUpdated": "2026-10-08T14:01:33.803Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107612 (GCVE-0-2026-107612)
Vulnerability from cvelistv5 – Published: 2026-10-08 13:39 – Updated: 2026-10-08 14:02
VLAI
EPSS
VEX
Title
World-accessible IPC shared memory with predictable name in TightVNC Server
Summary
Incorrect permission assignment in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to read or overwrite the inter-process communication handles used between the TightVNC service and its desktop server process. The named shared memory segment in the Global\ namespace that carries the pipe HANDLE values is created with a NULL DACL, and its name is derived from a time-seeded srand(time(0)) value that is predictable to one-second granularity. A low-privileged local process can open the mapping and tamper with the IPC channel of a service running as SYSTEM, potentially leading to disclosure of session data, privilege escalation, or denial of service.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:01 UTC
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://sourceforge.net/p/vnc-tight/bugs/1658/ | issue-tracking |
| https://www.tightvnc.com/whatsnew.php | release-notespatch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107612",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:01:50.062814Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:02:27.703Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"TightVNC Server (desktop server IPC)"
],
"platforms": [
"Windows"
],
"product": "TightVNC",
"programFiles": [
"SharedMemory.cpp",
"DesktopServerWatcher.cpp"
],
"programRoutines": [
{
"name": "DesktopServerWatcher::execute()"
}
],
"vendor": "GlavSoft",
"versions": [
{
"lessThan": "2.8.88",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Incorrect permission assignment in GlavSoft TightVNC Server for Windows before 2.8.88 allows a local authenticated user to read or overwrite the inter-process communication handles used between the TightVNC service and its desktop server process. The named shared memory segment in the Global\\ namespace that carries the pipe HANDLE values is created with a NULL DACL, and its name is derived from a time-seeded srand(time(0)) value that is predictable to one-second granularity. A low-privileged local process can open the mapping and tamper with the IPC channel of a service running as SYSTEM, potentially leading to disclosure of session data, privilege escalation, or denial of service."
}
],
"impacts": [
{
"capecId": "CAPEC-122",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-122 Privilege Abuse"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-732",
"description": "CWE-732 Incorrect Permission Assignment for Critical Resource",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-338",
"description": "CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T13:39:55.702Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "TightVNC bug #1658",
"tags": [
"issue-tracking"
],
"url": "https://sourceforge.net/p/vnc-tight/bugs/1658/"
},
{
"name": "TightVNC release notes (2.8.88)",
"tags": [
"release-notes",
"patch"
],
"url": "https://www.tightvnc.com/whatsnew.php"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade TightVNC for Windows to version 2.8.88 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-30T00:00:00.000Z",
"value": "Reported to GlavSoft"
},
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vendor acknowledged"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "TightVNC 2.8.88 released with fix"
}
],
"title": "World-accessible IPC shared memory with predictable name in TightVNC Server"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107612",
"datePublished": "2026-10-08T13:39:55.702Z",
"dateReserved": "2026-10-08T13:23:07.677Z",
"dateUpdated": "2026-10-08T14:02:27.703Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-107611 (GCVE-0-2026-107611)
Vulnerability from cvelistv5 – Published: 2026-10-08 13:39 – Updated: 2026-10-08 14:03
VLAI
EPSS
VEX
Title
Out-of-bounds read in TightVNC Viewer ZRLE palette decoding
Summary
An out-of-bounds read vulnerability in the ZRLE decoder of GlavSoft TightVNC Viewer for Windows before 2.8.88 allows a malicious or compromised VNC server to read heap memory beyond the palette allocation and crash the viewer by sending ZRLE-encoded tiles whose palette indices exceed the declared palette size. readPaletteRleTile() and readPackedPaletteTile() use the attacker-supplied index to look up colours without validating it against the palette size; out-of-bounds heap data is copied into the framebuffer (garbled display) or the read faults, terminating the viewer.
Severity
7.1 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:02 UTC
CWE
- CWE-125 - Out-of-bounds Read
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://sourceforge.net/p/vnc-tight/bugs/1657/ | issue-tracking |
| https://www.tightvnc.com/whatsnew.php | release-notespatch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-107611",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:02:42.563819Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:03:01.404Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"TightVNC Viewer (ZRLE decoder)"
],
"platforms": [
"Windows"
],
"product": "TightVNC",
"programFiles": [
"ZrleDecoder.cpp"
],
"programRoutines": [
{
"name": "readPaletteRleTile()"
},
{
"name": "readPackedPaletteTile()"
}
],
"vendor": "GlavSoft",
"versions": [
{
"lessThan": "2.8.88",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "An out-of-bounds read vulnerability in the ZRLE decoder of GlavSoft TightVNC Viewer for Windows before 2.8.88 allows a malicious or compromised VNC server to read heap memory beyond the palette allocation and crash the viewer by sending ZRLE-encoded tiles whose palette indices exceed the declared palette size. readPaletteRleTile() and readPackedPaletteTile() use the attacker-supplied index to look up colours without validating it against the palette size; out-of-bounds heap data is copied into the framebuffer (garbled display) or the read faults, terminating the viewer."
}
],
"impacts": [
{
"capecId": "CAPEC-540",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-540 Overread Buffers"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125 Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T13:39:48.883Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "TightVNC bug #1657",
"tags": [
"issue-tracking"
],
"url": "https://sourceforge.net/p/vnc-tight/bugs/1657/"
},
{
"name": "TightVNC release notes (2.8.88)",
"tags": [
"release-notes",
"patch"
],
"url": "https://www.tightvnc.com/whatsnew.php"
}
],
"solutions": [
{
"lang": "en",
"value": "Upgrade TightVNC for Windows to version 2.8.88 or later."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-30T00:00:00.000Z",
"value": "Reported to GlavSoft"
},
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vendor acknowledged"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "TightVNC 2.8.88 released with fix"
}
],
"title": "Out-of-bounds read in TightVNC Viewer ZRLE palette decoding",
"workarounds": [
{
"lang": "en",
"value": "Connect only to trusted VNC servers until the viewer is upgraded."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-107611",
"datePublished": "2026-10-08T13:39:48.883Z",
"dateReserved": "2026-10-08T13:23:07.677Z",
"dateUpdated": "2026-10-08T14:03:01.404Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44038 (GCVE-0-2026-44038)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:08
VLAI
EPSS
VEX
Title
Global buffer out-of-bounds read in DCMTK JPEG Huffman decoding
Summary
A global out-of-bounds read in the Huffman decoder of the bundled IJG JPEG libraries (dcmjpeg/libijg8, libijg12 and libijg16) of OFFIS DCMTK 3.7.0 allows an attacker to read memory beyond the extend_test[] and extend_offset[] tables, causing incorrectly decoded pixel data or a crash, via a DICOM file with a crafted JPEG stream whose Huffman table defines a difference category above 15. Huffman symbol values are not range-checked unless DCMTK is built with DCMTK_ENABLE_STRICT_HUFFMAN_TABLE_CHECK, which is disabled by default. dcmdjpeg and any application that decompresses JPEG DICOM images with DCMTK are affected. The issue is fixed in commit d6ae1bc8d5b9ae9c7300013c8c85cc2ea0fd8cf5.
Severity
4.4 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:08 UTC
CWE
- CWE-125 - Out-of-bounds Read
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1221 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/d6ae1bc8d5b… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44038",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:08:11.020411Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:08:19.615Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmjpeg"
],
"product": "DCMTK",
"programFiles": [
"dcmjpeg/libijg8/jdshuff.c",
"dcmjpeg/libijg12/jdshuff.c",
"dcmjpeg/libijg16/jdshuff.c"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A global out-of-bounds read in the Huffman decoder of the bundled IJG JPEG libraries (dcmjpeg/libijg8, libijg12 and libijg16) of OFFIS DCMTK 3.7.0 allows an attacker to read memory beyond the extend_test[] and extend_offset[] tables, causing incorrectly decoded pixel data or a crash, via a DICOM file with a crafted JPEG stream whose Huffman table defines a difference category above 15. Huffman symbol values are not range-checked unless DCMTK is built with DCMTK_ENABLE_STRICT_HUFFMAN_TABLE_CHECK, which is disabled by default. dcmdjpeg and any application that decompresses JPEG DICOM images with DCMTK are affected. The issue is fixed in commit d6ae1bc8d5b9ae9c7300013c8c85cc2ea0fd8cf5."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 4.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 4.4,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125 Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:13.689Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1221",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1221"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/d6ae1bc8d5b9ae9c7300013c8c85cc2ea0fd8cf5"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit d6ae1bc8d5b9ae9c7300013c8c85cc2ea0fd8cf5. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-06-10T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Global buffer out-of-bounds read in DCMTK JPEG Huffman decoding"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44038",
"datePublished": "2026-10-08T12:55:13.689Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T14:08:19.615Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44037 (GCVE-0-2026-44037)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:08
VLAI
EPSS
VEX
Title
Uncontrolled recursion in DCMTK JSON reader allows denial of service
Summary
Uncontrolled mutual recursion between DcmJSONReader::parseDataSet(), DcmJSONReader::parseElement() and DcmJSONReader::parseSequence() in dcmdata/libsrc/dcjsonrd.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOM JSON document with deeply nested sequence (SQ) values. The json2dcm tool and any service that converts untrusted DICOM JSON (for example, DICOMweb payloads) with this reader are affected. The issue is fixed in commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7.
Severity
5.5 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:08 UTC
CWE
- CWE-674 - Uncontrolled Recursion
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1225 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/cf955e64c35… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44037",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:08:30.608062Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:08:38.661Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmdata"
],
"product": "DCMTK",
"programFiles": [
"dcmdata/libsrc/dcjsonrd.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Uncontrolled mutual recursion between DcmJSONReader::parseDataSet(), DcmJSONReader::parseElement() and DcmJSONReader::parseSequence() in dcmdata/libsrc/dcjsonrd.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOM JSON document with deeply nested sequence (SQ) values. The json2dcm tool and any service that converts untrusted DICOM JSON (for example, DICOMweb payloads) with this reader are affected. The issue is fixed in commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 6.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-674",
"description": "CWE-674 Uncontrolled Recursion",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:12.628Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1225",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1225"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/cf955e64c35a1e07ba10698f639d5dcdec53b9d7"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit cf955e64c35a1e07ba10698f639d5dcdec53b9d7. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Uncontrolled recursion in DCMTK JSON reader allows denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44037",
"datePublished": "2026-10-08T12:55:12.628Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T14:08:38.661Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44036 (GCVE-0-2026-44036)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 17:33
VLAI
EPSS
VEX
Title
Uncontrolled recursion in DCMTK xml2dcm allows denial of service
Summary
Uncontrolled mutual recursion between DcmXMLParseHelper::parseDataSet() and DcmXMLParseHelper::parseSequence() in the XML-to-DICOM converter (dcmdata/libdcxml/xml2dcm.cc) of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted XML file with deeply nested sequence and item elements. The xml2dcm tool and any service that converts untrusted XML to DICOM with this code are affected. The issue is fixed in commit 87f256d73e30656a822bf7d76d1cf1d9bb693954.
Severity
5.5 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 17:33 UTC
CWE
- CWE-674 - Uncontrolled Recursion
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1224 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/87f256d73e3… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44036",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T17:33:20.509311Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T17:33:30.439Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmdata"
],
"product": "DCMTK",
"programFiles": [
"dcmdata/libdcxml/xml2dcm.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Uncontrolled mutual recursion between DcmXMLParseHelper::parseDataSet() and DcmXMLParseHelper::parseSequence() in the XML-to-DICOM converter (dcmdata/libdcxml/xml2dcm.cc) of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted XML file with deeply nested sequence and item elements. The xml2dcm tool and any service that converts untrusted XML to DICOM with this code are affected. The issue is fixed in commit 87f256d73e30656a822bf7d76d1cf1d9bb693954."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 6.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-674",
"description": "CWE-674 Uncontrolled Recursion",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:11.305Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1224",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1224"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/87f256d73e30656a822bf7d76d1cf1d9bb693954"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit 87f256d73e30656a822bf7d76d1cf1d9bb693954. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-06-16T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Uncontrolled recursion in DCMTK xml2dcm allows denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44036",
"datePublished": "2026-10-08T12:55:11.305Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T17:33:30.439Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44035 (GCVE-0-2026-44035)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:09
VLAI
EPSS
VEX
Title
Uncontrolled recursion in DCMTK DICOMDIR parsing allows denial of service
Summary
Uncontrolled recursion in DcmDicomDir::moveRecordToTree() in dcmdata/libsrc/dcdicdir.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOMDIR file with a deeply chained sequence of directory records linked through the Offset of Referenced Lower-Level Directory Entity attribute. Any application that opens the DICOMDIR is affected, including dcmgpdir and media viewers built on DCMTK. The issue is fixed in commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f.
Severity
5.5 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:08 UTC
CWE
- CWE-674 - Uncontrolled Recursion
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1215 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/ca761f7f3dc… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44035",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:08:51.179526Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:09:00.382Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmdata"
],
"product": "DCMTK",
"programFiles": [
"dcmdata/libsrc/dcdicdir.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Uncontrolled recursion in DcmDicomDir::moveRecordToTree() in dcmdata/libsrc/dcdicdir.cc of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted DICOMDIR file with a deeply chained sequence of directory records linked through the Offset of Referenced Lower-Level Directory Entity attribute. Any application that opens the DICOMDIR is affected, including dcmgpdir and media viewers built on DCMTK. The issue is fixed in commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 6.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-674",
"description": "CWE-674 Uncontrolled Recursion",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:10.263Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1215",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1215"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit ca761f7f3dcaaddaa95be87cf5d736138d7c3a9f. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Uncontrolled recursion in DCMTK DICOMDIR parsing allows denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44035",
"datePublished": "2026-10-08T12:55:10.263Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T14:09:00.382Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44034 (GCVE-0-2026-44034)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:09
VLAI
EPSS
VEX
Title
Heap out-of-bounds read in DCMTK RLE decodeFrame()
Summary
A heap-based out-of-bounds read in DcmRLECodecDecoder::decodeFrame() in dcmdata/libsrc/dcrleccd.cc of OFFIS DCMTK 3.7.0 allows an attacker to read up to 63 bytes of adjacent heap memory, or cause a crash, via a crafted RLE Lossless DICOM file whose pixel data fragment is shorter than the 64-byte RLE header. The function copies 64 bytes without checking the fragment length, a check that the sibling function decode() already performs. Applications that decode RLE images frame by frame (for example, through DcmPixelData::getUncompressedFrame()) are affected. The dcmdrle command-line tool uses decode() and is not affected. The issue is fixed in commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d.
Severity
4.4 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:09 UTC
CWE
- CWE-125 - Out-of-bounds Read
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1213 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/45469f3c300… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44034",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:09:13.036801Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:09:23.670Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmdata"
],
"product": "DCMTK",
"programFiles": [
"dcmdata/libsrc/dcrleccd.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "A heap-based out-of-bounds read in DcmRLECodecDecoder::decodeFrame() in dcmdata/libsrc/dcrleccd.cc of OFFIS DCMTK 3.7.0 allows an attacker to read up to 63 bytes of adjacent heap memory, or cause a crash, via a crafted RLE Lossless DICOM file whose pixel data fragment is shorter than the 64-byte RLE header. The function copies 64 bytes without checking the fragment length, a check that the sibling function decode() already performs. Applications that decode RLE images frame by frame (for example, through DcmPixelData::getUncompressedFrame()) are affected. The dcmdrle command-line tool uses decode() and is not affected. The issue is fixed in commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 4.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 4.4,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-125",
"description": "CWE-125 Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:09.201Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1213",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1213"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/45469f3c30037e9c7159290e4bb74cd7b3b9ef1d"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit 45469f3c30037e9c7159290e4bb74cd7b3b9ef1d. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-05-23T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Heap out-of-bounds read in DCMTK RLE decodeFrame()"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44034",
"datePublished": "2026-10-08T12:55:09.201Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T14:09:23.670Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44033 (GCVE-0-2026-44033)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:10
VLAI
EPSS
VEX
Title
Uncontrolled recursion in the DCMTK bundled XML parser allows denial of service
Summary
Uncontrolled recursion in XMLNode::ParseXMLElement() and XMLNode::emptyTheNode() in the bundled XML parser (ofstd/libsrc/ofxml.cc) of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted XML document with deeply nested elements. The parser is reachable through dcmencap when encapsulating a CDA document, and through any application that calls OFXMLParser::parseFile() or OFXMLParser::parseString() on untrusted input. The issue is fixed in commit d12e350e687530eb41e2b0c860aff4d8c04e5941.
Severity
5.5 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:10 UTC
CWE
- CWE-674 - Uncontrolled Recursion
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1214 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/d12e350e687… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44033",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:10:03.806437Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:10:14.331Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"ofstd"
],
"product": "DCMTK",
"programFiles": [
"ofstd/libsrc/ofxml.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Uncontrolled recursion in XMLNode::ParseXMLElement() and XMLNode::emptyTheNode() in the bundled XML parser (ofstd/libsrc/ofxml.cc) of OFFIS DCMTK 3.7.0 allows an attacker to cause a denial of service (stack exhaustion and process crash) via a crafted XML document with deeply nested elements. The parser is reachable through dcmencap when encapsulating a CDA document, and through any application that calls OFXMLParser::parseFile() or OFXMLParser::parseString() on untrusted input. The issue is fixed in commit d12e350e687530eb41e2b0c860aff4d8c04e5941."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 6.8,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-674",
"description": "CWE-674 Uncontrolled Recursion",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:08.231Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1214",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1214"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/d12e350e687530eb41e2b0c860aff4d8c04e5941"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit d12e350e687530eb41e2b0c860aff4d8c04e5941. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-05-24T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Uncontrolled recursion in the DCMTK bundled XML parser allows denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44033",
"datePublished": "2026-10-08T12:55:08.231Z",
"dateReserved": "2026-05-05T02:49:00.667Z",
"dateUpdated": "2026-10-08T14:10:14.331Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44031 (GCVE-0-2026-44031)
Vulnerability from cvelistv5 – Published: 2026-10-08 12:55 – Updated: 2026-10-08 14:10
VLAI
EPSS
VEX
Title
Uncontrolled recursion in the DCMTK DICOM dataset parser allows unauthenticated remote denial of service
Summary
Uncontrolled recursion in DcmSequenceOfItems::read() and DcmItem::read() in the dcmdata library of OFFIS DCMTK 3.7.0 allows a remote, unauthenticated attacker to cause a denial of service (stack exhaustion and process crash) via a DICOM dataset containing deeply nested sequences (SQ elements). The dataset can be sent in a C-STORE request to storescp, dcmrecv, dcmqrscp, or any other DICOM service built on DCMTK, because the received dataset is parsed before any authentication takes place. Local tools such as dcmdump also crash when opening such a file. The issue is fixed in commit 885ff0f10372bd589b5f44cea974f28a3964cb0f, which adds a configurable sequence nesting depth limit (default 64).
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 14:10 UTC
CWE
- CWE-674 - Uncontrolled Recursion
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://support.dcmtk.org/redmine/issues/1191 | issue-trackingvendor-advisory |
| https://github.com/DCMTK/dcmtk/commit/885ff0f1037… | patch |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44031",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-08T14:10:27.354529Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T14:10:35.420Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/DCMTK/dcmtk",
"cpes": [
"cpe:2.3:a:offis:dcmtk:3.7.0:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"modules": [
"dcmdata",
"dcmnet"
],
"product": "DCMTK",
"programFiles": [
"dcmdata/libsrc/dcsequen.cc",
"dcmdata/libsrc/dcitem.cc"
],
"repo": "https://github.com/DCMTK/dcmtk",
"vendor": "OFFIS",
"versions": [
{
"status": "affected",
"version": "3.7.0"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "Uncontrolled recursion in DcmSequenceOfItems::read() and DcmItem::read() in the dcmdata library of OFFIS DCMTK 3.7.0 allows a remote, unauthenticated attacker to cause a denial of service (stack exhaustion and process crash) via a DICOM dataset containing deeply nested sequences (SQ elements). The dataset can be sent in a C-STORE request to storescp, dcmrecv, dcmqrscp, or any other DICOM service built on DCMTK, because the received dataset is parsed before any authentication takes place. Local tools such as dcmdump also crash when opening such a file. The issue is fixed in commit 885ff0f10372bd589b5f44cea974f28a3964cb0f, which adds a configurable sequence nesting depth limit (default 64)."
}
],
"metrics": [
{
"cvssV4_0": {
"baseScore": 8.7,
"baseSeverity": "HIGH",
"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"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"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",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-674",
"description": "CWE-674 Uncontrolled Recursion",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-08T12:55:01.712Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "DCMTK issue #1191",
"tags": [
"issue-tracking",
"vendor-advisory"
],
"url": "https://support.dcmtk.org/redmine/issues/1191"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/DCMTK/dcmtk/commit/885ff0f10372bd589b5f44cea974f28a3964cb0f"
}
],
"solutions": [
{
"lang": "en",
"value": "Update to a DCMTK version that contains commit 885ff0f10372bd589b5f44cea974f28a3964cb0f. As of the publication date, no tagged release after DCMTK 3.7.0 includes this fix, so apply the commit or build from the current master branch."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-25T00:00:00.000Z",
"value": "CVE ID shared with the vendor"
},
{
"lang": "en",
"time": "2026-04-04T00:00:00.000Z",
"value": "Fix committed by the vendor"
},
{
"lang": "en",
"time": "2026-06-19T00:00:00.000Z",
"value": "Vendor approved publication"
}
],
"title": "Uncontrolled recursion in the DCMTK DICOM dataset parser allows unauthenticated remote denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44031",
"datePublished": "2026-10-08T12:55:01.712Z",
"dateReserved": "2026-05-05T02:49:00.666Z",
"dateUpdated": "2026-10-08T14:10:35.420Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7840 (GCVE-0-2026-7840)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:36
VLAI
EPSS
VEX
Title
UltraVNC repeater HTTP server global buffer overflow via long URI (pre-auth RCE)
Summary
UltraVNC repeater through 1.8.2.2 contains a global buffer overflow in its embedded HTTP administration server. The functions wi_senderr() and wi_replyhdr() in repeater/webgui/webutils.c write the caller-supplied HTTP request URI into a fixed 1000-byte global buffer (hdrbuf) via unchecked sprintf calls. The HTTP receive buffer accepts URIs up to approximately 150 KB (WI_RXBUFSIZE = 153600), so an unauthenticated attacker who can reach the repeater HTTP port (default TCP 80) can overflow hdrbuf by at least 500 bytes with a single HTTP request containing a URI of 1500 bytes or longer, corrupting adjacent .bss-segment globals. The overflow occurs before any authentication check, making it reachable without credentials. A remote, unauthenticated attacker can achieve arbitrary code execution on the host running the repeater.
Severity
9.8 (Critical)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 12:33 UTC
CWE
- CWE-787 - Out-of-bounds Write
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7840-pr… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7840",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T12:33:40.320112Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T12:33:48.634Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"repeater"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC repeater through 1.8.2.2 contains a global buffer overflow in its embedded HTTP administration server. The functions wi_senderr() and wi_replyhdr() in repeater/webgui/webutils.c write the caller-supplied HTTP request URI into a fixed 1000-byte global buffer (hdrbuf) via unchecked sprintf calls. The HTTP receive buffer accepts URIs up to approximately 150 KB (WI_RXBUFSIZE = 153600), so an unauthenticated attacker who can reach the repeater HTTP port (default TCP 80) can overflow hdrbuf by at least 500 bytes with a single HTTP request containing a URI of 1500 bytes or longer, corrupting adjacent .bss-segment globals. The overflow occurs before any authentication check, making it reachable without credentials. A remote, unauthenticated attacker can achieve arbitrary code execution on the host running the repeater."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"cvssV4_0": {
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:36:16.157Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7840-pre-auth-global-buffer-overflow-repeater-http-admin-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-005",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC repeater HTTP server global buffer overflow via long URI (pre-auth RCE)"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7840",
"datePublished": "2026-07-01T03:33:28.957Z",
"dateReserved": "2026-05-05T07:30:59.460Z",
"dateUpdated": "2026-07-09T04:36:16.157Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7839 (GCVE-0-2026-7839)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:35
VLAI
EPSS
VEX
Title
UltraVNC repeater ships hardcoded default admin password allowing unauthenticated admin access
Summary
UltraVNC repeater through 1.8.2.2 initializes the HTTP administration server with a hardcoded default password. In repeater/webgui/settings.c:197, when settings2.txt is absent on first run the repeater writes the literal string "adminadmi2" as the admin password via strcpy_s(saved_password, 64, "adminadmi2"). The HTTP Basic-auth handler wi_decode_auth() checks this password without rate-limiting or lockout. Any remote attacker who can reach the repeater HTTP port (default TCP 80) can authenticate as administrator using the well-known default credential on a fresh or unmodified installation, gaining full control of the repeater configuration including allow/deny rules and session visibility.
Severity
9.1 (Critical)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 12:32 UTC
CWE
- CWE-798 - Use of Hard-coded Credentials
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7839-ha… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7839",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T12:32:28.823292Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T12:32:35.299Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"repeater"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC repeater through 1.8.2.2 initializes the HTTP administration server with a hardcoded default password. In repeater/webgui/settings.c:197, when settings2.txt is absent on first run the repeater writes the literal string \"adminadmi2\" as the admin password via strcpy_s(saved_password, 64, \"adminadmi2\"). The HTTP Basic-auth handler wi_decode_auth() checks this password without rate-limiting or lockout. Any remote attacker who can reach the repeater HTTP port (default TCP 80) can authenticate as administrator using the well-known default credential on a fresh or unmodified installation, gaining full control of the repeater configuration including allow/deny rules and session visibility."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-798",
"description": "Use of Hard-coded Credentials",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:35:44.027Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7839-hardcoded-default-admin-password-adminadmi2-ultravnc-repeater"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-006",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC repeater ships hardcoded default admin password allowing unauthenticated admin access"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7839",
"datePublished": "2026-07-01T03:33:27.724Z",
"dateReserved": "2026-05-05T07:30:58.064Z",
"dateUpdated": "2026-07-09T04:35:44.027Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7838 (GCVE-0-2026-7838)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:35
VLAI
EPSS
VEX
Title
UltraVNC viewer heap buffer overflow via integer overflow in RFB connection-failure reason length
Summary
UltraVNC viewer through 1.8.2.2 contains an integer overflow leading to a heap buffer overflow in the RFB protocol failure-response parsing path. In vncviewer/ClientConnection.cpp, the 4-byte network-supplied reasonLen field (type CARD32) is passed as reasonLen+1 to CheckBufferSize(). Because both operands are unsigned 32-bit, a reasonLen of 0xFFFFFFFF overflows to 0, causing CheckBufferSize to allocate only 256 bytes. The subsequent ReadString(m_netbuf, reasonLen) call then performs ReadExact for the original 4 GiB length into that 256-byte heap buffer. This overflow is reachable via rfbConnFailed (auth-scheme negotiation) and rfbVncAuthFailed (post-handshake) message types without successful authentication. A malicious VNC server, or any man-in-the-middle on the RFB stream, can trigger this condition when the victim viewer connects, potentially resulting in remote code execution as the user running the viewer. The crash was confirmed with AddressSanitizer on a portable reproduction harness (heap-buffer-overflow WRITE at offset 256).
Severity
8.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:11 UTC
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7838-he… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7838",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:11:26.115793Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:11:42.574Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"vncviewer"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC viewer through 1.8.2.2 contains an integer overflow leading to a heap buffer overflow in the RFB protocol failure-response parsing path. In vncviewer/ClientConnection.cpp, the 4-byte network-supplied reasonLen field (type CARD32) is passed as reasonLen+1 to CheckBufferSize(). Because both operands are unsigned 32-bit, a reasonLen of 0xFFFFFFFF overflows to 0, causing CheckBufferSize to allocate only 256 bytes. The subsequent ReadString(m_netbuf, reasonLen) call then performs ReadExact for the original 4 GiB length into that 256-byte heap buffer. This overflow is reachable via rfbConnFailed (auth-scheme negotiation) and rfbVncAuthFailed (post-handshake) message types without successful authentication. A malicious VNC server, or any man-in-the-middle on the RFB stream, can trigger this condition when the victim viewer connects, potentially resulting in remote code execution as the user running the viewer. The crash was confirmed with AddressSanitizer on a portable reproduction harness (heap-buffer-overflow WRITE at offset 256)."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"cvssV4_0": {
"baseScore": 8.7,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-190",
"description": "Integer Overflow or Wraparound",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:35:58.564Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7838-heap-overflow-viewer-reasonlen-integer-overflow-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-010",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered and crash-confirmed with AddressSanitizer"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC viewer heap buffer overflow via integer overflow in RFB connection-failure reason length"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7838",
"datePublished": "2026-07-01T03:33:26.501Z",
"dateReserved": "2026-05-05T07:30:55.831Z",
"dateUpdated": "2026-07-09T04:35:58.564Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7831 (GCVE-0-2026-7831)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:35
VLAI
EPSS
VEX
Title
UltraVNC viewer off-by-one stack overflow in ServerInit desktop name parsing
Summary
UltraVNC viewer through 1.8.2.2 contains an off-by-one stack buffer overflow in the RFB ServerInit message handler. In vncviewer/ClientConnection.cpp, when the server-supplied nameLength equals exactly 2024 the code declares a 2024-byte stack buffer _dn[2024] and calls ReadString(_dn, 2024). ReadString writes the NUL terminator at buf[length], i.e., _dn[2024], one byte past the end of the stack buffer. A malicious VNC server can trigger this condition by advertising a desktop name of length 2024 in its ServerInit message. On release builds without stack canaries the single-byte NUL overwrite adjacent stack data. On builds with /GS stack protection the canary is corrupted and the process terminates, resulting in denial of service. User interaction (connecting the viewer to the malicious server) is required.
Severity
7.5 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:12 UTC
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7831-of… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7831",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:12:22.055256Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:12:46.218Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"vncviewer"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC viewer through 1.8.2.2 contains an off-by-one stack buffer overflow in the RFB ServerInit message handler. In vncviewer/ClientConnection.cpp, when the server-supplied nameLength equals exactly 2024 the code declares a 2024-byte stack buffer _dn[2024] and calls ReadString(_dn, 2024). ReadString writes the NUL terminator at buf[length], i.e., _dn[2024], one byte past the end of the stack buffer. A malicious VNC server can trigger this condition by advertising a desktop name of length 2024 in its ServerInit message. On release builds without stack canaries the single-byte NUL overwrite adjacent stack data. On builds with /GS stack protection the canary is corrupted and the process terminates, resulting in denial of service. User interaction (connecting the viewer to the malicious server) is required."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-193",
"description": "Off-by-one Error",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:35:54.891Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7831-off-by-one-stack-overflow-viewer-namelength-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-011",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC viewer off-by-one stack overflow in ServerInit desktop name parsing"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7831",
"datePublished": "2026-07-01T03:33:25.314Z",
"dateReserved": "2026-05-05T04:03:22.622Z",
"dateUpdated": "2026-07-09T04:35:54.891Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7830 (GCVE-0-2026-7830)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:35
VLAI
EPSS
VEX
Title
UltraVNC MS-Logon II uses 64-bit Diffie-Hellman and seeded libc rand() enabling credential interception
Summary
UltraVNC through 1.8.2.2 uses inadequate cryptography in the MS-Logon II authentication scheme (rfbUltraVNC_MsLogonIIAuth). In rfb/dh.cpp the Diffie-Hellman key exchange is performed with parameters that fit in an unsigned 64-bit integer (DH_MAX_BITS controls the prime size). A 64-bit DH key can be broken by Pollard's rho algorithm in under one second on current hardware. Additionally, the private exponent is generated by the rng() function, which multiplies three libc rand() values seeded from time(NULL). With approximately 31 bits of internal state and a time-based seed, the private exponent is recoverable in under a minute by a passive observer. A network attacker who can observe the MS-Logon II handshake (via sniffing, recording, or man-in-the-middle) can derive the shared DH key and decrypt the encapsulated username and password, resulting in full credential disclosure. This affects legacy MS-Logon II connections; MS-Logon III (X25519 + AES-256-GCM) is unaffected.
Severity
7.4 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:13 UTC
CWE
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7830-31… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7830",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:13:10.627838Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:13:23.590Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"winvnc",
"ms-logon"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC through 1.8.2.2 uses inadequate cryptography in the MS-Logon II authentication scheme (rfbUltraVNC_MsLogonIIAuth). In rfb/dh.cpp the Diffie-Hellman key exchange is performed with parameters that fit in an unsigned 64-bit integer (DH_MAX_BITS controls the prime size). A 64-bit DH key can be broken by Pollard\u0027s rho algorithm in under one second on current hardware. Additionally, the private exponent is generated by the rng() function, which multiplies three libc rand() values seeded from time(NULL). With approximately 31 bits of internal state and a time-based seed, the private exponent is recoverable in under a minute by a passive observer. A network attacker who can observe the MS-Logon II handshake (via sniffing, recording, or man-in-the-middle) can derive the shared DH key and decrypt the encapsulated username and password, resulting in full credential disclosure. This affects legacy MS-Logon II connections; MS-Logon III (X25519 + AES-256-GCM) is unaffected."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.4,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-326",
"description": "Inadequate Encryption Strength",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-338",
"description": "Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:35:51.099Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7830-31-bit-dh-weak-rng-ms-logon-credential-interception-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-002",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC MS-Logon II uses 64-bit Diffie-Hellman and seeded libc rand() enabling credential interception"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7830",
"datePublished": "2026-07-01T03:33:24.106Z",
"dateReserved": "2026-05-05T03:40:59.002Z",
"dateUpdated": "2026-07-09T04:35:51.099Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7829 (GCVE-0-2026-7829)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:35
VLAI
EPSS
VEX
Title
UltraVNC repeater authenticated out-of-bounds write in rule parser via oversized token
Summary
UltraVNC repeater through 1.8.2.2 contains a post-authentication out-of-bounds write in the allow/deny rule parser. In repeater/webgui/settings.c:225-272, after strncpy_s copies a rule token into temp1[rule1] (25-byte destination) or temp2/temp3 (16-byte destination), the code unconditionally writes a NUL terminator at temp1[rule1][len] = 0 without clamping len to the destination size. When an authenticated administrator saves a rule with a token length equal to or greater than the destination size, the NUL byte is written one or more bytes past the end of the stack-allocated array, corrupting adjacent stack data. An attacker who has obtained admin credentials (including via CVE-2026-7839 default password) can trigger this to gain code execution on the repeater host.
Severity
7.2 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:13 UTC
CWE
- CWE-787 - Out-of-bounds Write
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7829-po… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7829",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:13:45.463427Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:13:52.948Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"repeater"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC repeater through 1.8.2.2 contains a post-authentication out-of-bounds write in the allow/deny rule parser. In repeater/webgui/settings.c:225-272, after strncpy_s copies a rule token into temp1[rule1] (25-byte destination) or temp2/temp3 (16-byte destination), the code unconditionally writes a NUL terminator at temp1[rule1][len] = 0 without clamping len to the destination size. When an authenticated administrator saves a rule with a token length equal to or greater than the destination size, the NUL byte is written one or more bytes past the end of the stack-allocated array, corrupting adjacent stack data. An attacker who has obtained admin credentials (including via CVE-2026-7839 default password) can trigger this to gain code execution on the repeater host."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.2,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "HIGH",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "Out-of-bounds Write",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:35:47.621Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7829-post-auth-oob-nul-write-repeater-rule-parser-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-007",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC repeater authenticated out-of-bounds write in rule parser via oversized token"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7829",
"datePublished": "2026-07-01T03:33:22.888Z",
"dateReserved": "2026-05-05T03:40:57.359Z",
"dateUpdated": "2026-07-09T04:35:47.621Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-7828 (GCVE-0-2026-7828)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:36
VLAI
EPSS
VEX
Title
UltraVNC repeater integer overflow in win_log malloc leading to heap overflow
Summary
UltraVNC repeater through 1.8.2.2 contains an integer overflow in the HTTP request logging path. In repeater/webgui/settings.c:336, the win_log() function allocates list nodes via malloc(sizeof(struct LIST) + strlen(line)), where line is derived from HTTP request URIs. If strlen(line) is sufficiently large, the addition overflows to a value smaller than sizeof(struct LIST), causing a heap allocation smaller than required. The subsequent strcpy of the full string into the undersized allocation produces a heap buffer overflow. In the current implementation this overflow is bounded by the HTTP receive buffer size (WI_RXBUFSIZE = 153600 bytes, well below SIZE_MAX on 32-bit builds), limiting practical exploitability to a partial heap write. A remote unauthenticated attacker can trigger the theoretical overflow path by sending a maximally-sized URI in an HTTP request to the repeater HTTP port.
Severity
5.3 (Medium)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:14 UTC
CWE
- CWE-190 - Integer Overflow or Wraparound
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-7828-in… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-7828",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:14:15.623029Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:14:25.539Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"repeater"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC repeater through 1.8.2.2 contains an integer overflow in the HTTP request logging path. In repeater/webgui/settings.c:336, the win_log() function allocates list nodes via malloc(sizeof(struct LIST) + strlen(line)), where line is derived from HTTP request URIs. If strlen(line) is sufficiently large, the addition overflows to a value smaller than sizeof(struct LIST), causing a heap allocation smaller than required. The subsequent strcpy of the full string into the undersized allocation produces a heap buffer overflow. In the current implementation this overflow is bounded by the HTTP receive buffer size (WI_RXBUFSIZE = 153600 bytes, well below SIZE_MAX on 32-bit builds), limiting practical exploitability to a partial heap write. A remote unauthenticated attacker can trigger the theoretical overflow path by sending a maximally-sized URI in an HTTP request to the repeater HTTP port."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"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:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-190",
"description": "Integer Overflow or Wraparound",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:36:02.166Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-7828-integer-overflow-win-log-malloc-ultravnc-repeater"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-009",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC repeater integer overflow in win_log malloc leading to heap overflow"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-7828",
"datePublished": "2026-07-01T03:33:21.648Z",
"dateReserved": "2026-05-05T03:40:50.298Z",
"dateUpdated": "2026-07-09T04:36:02.166Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44040 (GCVE-0-2026-44040)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:36
VLAI
EPSS
VEX
Title
UltraVNC vncauth.c uses time-seeded libc rand() to generate VNC authentication challenge bytes
Summary
UltraVNC through 1.8.2.2 uses a cryptographically weak pseudo-random number generator to produce VNC authentication challenge bytes. In rfb/vncauth.c:119-129, the vncRandomBytes() function seeds libc rand() with time(0) + getpid() + rand() and generates a 16-byte challenge. The combined seed space is approximately 31 bits (libc rand() internal state) and is entirely determined by publicly-observable values (wall-clock time and process ID). An attacker who can observe the authentication exchange can enumerate the seed space and predict the challenge within seconds, enabling forgery or offline brute-forcing of responses. Note: on Windows, the active code path may use vncEncryptBytes2.cpp which calls CryptGenRandom; reachability on shipped Windows binaries requires compile-graph verification and is under investigation.
Severity
4.8 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 12:44 UTC
CWE
- CWE-338 - Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-44040-l… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44040",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T12:44:56.012420Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T12:45:04.706Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"winvnc",
"vncviewer"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC through 1.8.2.2 uses a cryptographically weak pseudo-random number generator to produce VNC authentication challenge bytes. In rfb/vncauth.c:119-129, the vncRandomBytes() function seeds libc rand() with time(0) + getpid() + rand() and generates a 16-byte challenge. The combined seed space is approximately 31 bits (libc rand() internal state) and is entirely determined by publicly-observable values (wall-clock time and process ID). An attacker who can observe the authentication exchange can enumerate the seed space and predict the challenge within seconds, enabling forgery or offline brute-forcing of responses. Note: on Windows, the active code path may use vncEncryptBytes2.cpp which calls CryptGenRandom; reachability on shipped Windows binaries requires compile-graph verification and is under investigation."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.8,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-338",
"description": "Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:36:05.643Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-44040-libc-rand-weak-rng-vnc-auth-challenge-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-001",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC vncauth.c uses time-seeded libc rand() to generate VNC authentication challenge bytes"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44040",
"datePublished": "2026-07-01T03:33:20.355Z",
"dateReserved": "2026-05-05T03:40:37.003Z",
"dateUpdated": "2026-07-09T04:36:05.643Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44041 (GCVE-0-2026-44041)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:36
VLAI
EPSS
VEX
Title
UltraVNC vncWc2Mb calls wcslen() before validating that the wide string is NUL-terminated
Summary
UltraVNC through 1.8.2.2 contains an out-of-bounds read in the wide-string to multibyte conversion helper. In rfb/dh.cpp:204, the vncWc2Mb() function passes a caller-supplied WCHAR pointer to wcslen() before any bounds check. If the caller provides a wide-character buffer that is not properly NUL-terminated, wcslen() reads past the end of the buffer until it encounters a NUL wchar, resulting in an out-of-bounds read. Under typical Win32 API usage this requires an abnormal caller contract. Impact is limited to a potential information disclosure from adjacent memory regions or a process crash (denial of service) if the over-read crosses a page boundary.
Severity
4.3 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:10 UTC
CWE
- CWE-125 - Out-of-bounds Read
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-44041-v… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44041",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:10:10.152068Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:10:40.100Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"winvnc",
"vncviewer"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC through 1.8.2.2 contains an out-of-bounds read in the wide-string to multibyte conversion helper. In rfb/dh.cpp:204, the vncWc2Mb() function passes a caller-supplied WCHAR pointer to wcslen() before any bounds check. If the caller provides a wide-character buffer that is not properly NUL-terminated, wcslen() reads past the end of the buffer until it encounters a NUL wchar, resulting in an out-of-bounds read. Under typical Win32 API usage this requires an abnormal caller contract. Impact is limited to a potential information disclosure from adjacent memory regions or a process crash (denial of service) if the over-read crosses a page boundary."
}
],
"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-125",
"description": "Out-of-bounds Read",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:36:09.188Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-44041-vncwc2mb-wcslen-before-bounds-check-ultravnc"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-004",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC vncWc2Mb calls wcslen() before validating that the wide string is NUL-terminated"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44041",
"datePublished": "2026-07-01T03:33:19.127Z",
"dateReserved": "2026-05-05T03:40:37.003Z",
"dateUpdated": "2026-07-09T04:36:09.188Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44042 (GCVE-0-2026-44042)
Vulnerability from cvelistv5 – Published: 2026-07-01 03:33 – Updated: 2026-07-09 04:36
VLAI
EPSS
VEX
Title
UltraVNC repeater wi_uudecode off-by-one in base64 decode boundary check
Summary
UltraVNC repeater through 1.8.2.2 contains an off-by-one error in the Base64 decode helper used for HTTP Basic authentication. In repeater/webgui/webutils.c:817, the wi_uudecode() function checks whether the input length exceeds the output buffer with a strict greater-than comparison (>), while the correct check should be greater-than-or-equal (>=). When strlen(authdata) equals sizeof(decode), the decoded output length (approximately 3/4 of input) does not overflow the buffer in current practice because the outer HTTP request bounds constrain the Authorization header. However, the defective check leaves a latent off-by-one condition that could become exploitable if the buffering constraints change. The current risk is limited to a one-byte write at the boundary of a 1024-byte stack buffer under constrained conditions.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:08 UTC
CWE
- CWE-193 - Off-by-one Error
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://uvnc.com/ | vendor-advisory |
| https://github.com/ultravnc/UltraVNC | product |
| https://www.securin.io/zero-days/cve-2026-44042-w… |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44042",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:08:54.695763Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:09:24.760Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"repeater"
],
"product": "UltraVNC",
"vendor": "uvnc",
"versions": [
{
"lessThanOrEqual": "1.8.2.2",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet, Securin (arjun.basnet@securin.io)"
}
],
"descriptions": [
{
"lang": "en",
"value": "UltraVNC repeater through 1.8.2.2 contains an off-by-one error in the Base64 decode helper used for HTTP Basic authentication. In repeater/webgui/webutils.c:817, the wi_uudecode() function checks whether the input length exceeds the output buffer with a strict greater-than comparison (\u003e), while the correct check should be greater-than-or-equal (\u003e=). When strlen(authdata) equals sizeof(decode), the decoded output length (approximately 3/4 of input) does not overflow the buffer in current practice because the outer HTTP request bounds constrain the Authorization header. However, the defective check leaves a latent off-by-one condition that could become exploitable if the buffering constraints change. The current risk is limited to a one-byte write at the boundary of a 1024-byte stack buffer under constrained conditions."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 3.7,
"baseSeverity": "LOW",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-193",
"description": "Off-by-one Error",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:36:12.685Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "UltraVNC project page",
"tags": [
"vendor-advisory"
],
"url": "https://uvnc.com/"
},
{
"name": "UltraVNC source repository",
"tags": [
"product"
],
"url": "https://github.com/ultravnc/UltraVNC"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-44042-wi-uudecode-off-by-one-bounded-ultravnc-repeater"
}
],
"source": {
"advisory": "Securin Security Advisory \u2014 FINDING-008",
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-02T00:00:00.000Z",
"value": "Vulnerability discovered during security audit"
},
{
"lang": "en",
"time": "2026-06-17T00:00:00.000Z",
"value": "Reported to vendor (coordinated disclosure)"
},
{
"lang": "en",
"time": "2026-09-15T00:00:00.000Z",
"value": "Planned public disclosure (90-day window)"
}
],
"title": "UltraVNC repeater wi_uudecode off-by-one in base64 decode boundary check"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-44042",
"datePublished": "2026-07-01T03:33:07.511Z",
"dateReserved": "2026-05-05T03:40:37.003Z",
"dateUpdated": "2026-07-09T04:36:12.685Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-14191 (GCVE-0-2026-14191)
Vulnerability from cvelistv5 – Published: 2026-07-01 02:41 – Updated: 2026-07-09 04:47
VLAI
EPSS
VEX
Title
WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader
Summary
An out-of-bounds heap write exists in the RAR5 recovery-volume (.rev) parser in WinRAR and UnRAR (RecVolumes5::ReadHeader in recvol5.cpp). The RecItems vector is sized only when the first .rev file in a set is processed; subsequent .rev files supply an independent RecNum value that is validated against that file's own TotalCount field but never against the actual size of RecItems. A crafted set of two or more .rev files can therefore write an attacker-controlled 32-bit value (the header's RevCRC field) to RecItems[RecNum] at an attacker-controlled offset up to 65534 * sizeof(RecVolItem) bytes past the allocation, corrupting adjacent heap objects. Triggering requires the victim to run a recovery/test operation on an attacker-supplied .rev set (for example 'unrar t x.part1.rev', WinRAR 'Repair archive', or auto-recovery when extracting a volume set with a missing .rar part). This is the RAR5-path sibling of CVE-2023-40477 (which was fixed in the RAR3 path only in WinRAR 6.23). Fixed in WinRAR / RAR 7.23.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-01 13:07 UTC
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://www.rarlab.com/download.htm | patchvendor-advisory |
| https://nvd.nist.gov/vuln/detail/CVE-2023-40477 | related |
| https://www.securin.io/zero-days/cve-2026-14191-w… |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-14191",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-01T13:07:23.906784Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-01T13:07:52.685Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"platforms": [
"Windows"
],
"product": "WinRAR",
"vendor": "RARLAB",
"versions": [
{
"lessThan": "7.23",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"Windows",
"Linux",
"macOS"
],
"product": "RAR",
"vendor": "RARLAB",
"versions": [
{
"lessThan": "7.23",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"Windows",
"Linux",
"macOS"
],
"product": "UnRAR",
"vendor": "RARLAB",
"versions": [
{
"lessThanOrEqual": "7.21",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"Windows"
],
"product": "UnRAR.dll",
"vendor": "RARLAB",
"versions": [
{
"lessThan": "7.23",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Arjun Basnet from Securin"
}
],
"descriptions": [
{
"lang": "en",
"value": "An out-of-bounds heap write exists in the RAR5 recovery-volume (.rev) parser in WinRAR and UnRAR (RecVolumes5::ReadHeader in recvol5.cpp). The RecItems vector is sized only when the first .rev file in a set is processed; subsequent .rev files supply an independent RecNum value that is validated against that file\u0027s own TotalCount field but never against the actual size of RecItems. A crafted set of two or more .rev files can therefore write an attacker-controlled 32-bit value (the header\u0027s RevCRC field) to RecItems[RecNum] at an attacker-controlled offset up to 65534 * sizeof(RecVolItem) bytes past the allocation, corrupting adjacent heap objects. Triggering requires the victim to run a recovery/test operation on an attacker-supplied .rev set (for example \u0027unrar t x.part1.rev\u0027, WinRAR \u0027Repair archive\u0027, or auto-recovery when extracting a volume set with a missing .rar part). This is the RAR5-path sibling of CVE-2023-40477 (which was fixed in the RAR3 path only in WinRAR 6.23). Fixed in WinRAR / RAR 7.23."
}
],
"impacts": [
{
"capecId": "CAPEC-100",
"descriptions": [
{
"lang": "en",
"value": "Overflow Buffers - a controlled out-of-bounds heap write with attacker-controlled offset and attacker-influenced value, giving a memory-corruption primitive that can be used to crash the process (verified DoS) and, per the reporter\u0027s assessment mirroring the RAR3 sibling CVE-2023-40477, can plausibly be leveraged toward remote code execution in the context of the current user. Code execution was not demonstrated by the reporter."
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-787",
"description": "CWE-787 Out-of-bounds Write",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-129",
"description": "CWE-129 Improper Validation of Array Index",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-09T04:47:54.319Z",
"orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"shortName": "securin"
},
"references": [
{
"name": "WinRAR / RAR 7.23 download (fixed release, 2026-06-30)",
"tags": [
"patch",
"vendor-advisory"
],
"url": "https://www.rarlab.com/download.htm"
},
{
"name": "CVE-2023-40477 - Sibling RAR3-path vulnerability fixed in WinRAR 6.23",
"tags": [
"related"
],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-40477"
},
{
"url": "https://www.securin.io/zero-days/cve-2026-14191-winrar-unrar-rar5-recovery-volume-rev-out-of-bounds-heap-write-in-recvolumes5-readheader"
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-03T02:08:00.000Z",
"value": "Vulnerability reported to RARLAB (Eugene Roshal) by Securin"
},
{
"lang": "en",
"time": "2026-06-03T20:01:00.000Z",
"value": "RARLAB confirmed the findings after independent source review"
},
{
"lang": "en",
"time": "2026-06-30T07:51:00.000Z",
"value": "WinRAR / RAR 7.23 released with .rev processing fix"
},
{
"lang": "en",
"time": "2026-06-30T00:00:00.000Z",
"value": "CVE-2026-14191 reserved by Securin CNA"
}
],
"title": "WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader"
}
},
"cveMetadata": {
"assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
"assignerShortName": "securin",
"cveId": "CVE-2026-14191",
"datePublished": "2026-07-01T02:41:39.316Z",
"dateReserved": "2026-06-30T08:32:07.249Z",
"dateUpdated": "2026-07-09T04:47:54.319Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}