CVE-2026-22863
Deno node:crypto doesn't finalize cipher
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.6.0, node:crypto doesn't finalize cipher. The vulnerability allows an attacker to have infinite encryptions. This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets. This vulnerability is fixed in 2.6.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
9.2
Deno node:crypto doesn't finalize cipher
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.6.0, node:crypto doesn't finalize cipher. The vulnerability allows an attacker to have infinite encryptions. This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets. This vulnerability is fixed in 2.6.0.
- Record
CVE-2026-22863- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-325
- Updated
- 2026-11-02
EUVDEUVD-2026-2936
9.2
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.6.0, node:crypto doesn't finalize cipher. The vulnerability allows an attacker to have infinite encryptions. This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets. This vulnerability is fixed in 2.6.0.
- Record
EUVD-2026-2936- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5379-f5hf-w38v
9.2
Deno node:crypto doesn't finalize cipher
Summary
The vulnerability allows an attacker to have infinite encryptions.
This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets.
PoC
import crypto from "node:crypto";
const key = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
cipher.final()
console.log(cipher);
Expected Output
Cipheriv {
_decoder: null,
_options: undefined,
Symbol(kHandle): CipherBase {}
}
Actual Output
Cipheriv {
_events: {
close: undefined,
error: undefined,
prefinish: [Function: prefinish],
finish: undefined,
drain: undefined,
data: undefined,
end: undefined,
readable: undefined
},
_readableState: ReadableState {
highWaterMark: 65536,
buffer: [],
bufferIndex: 0,
length: 0,
pipes: [],
awaitDrainWriters: null,
[Symbol(kState)]: 1048844
},
_writableState: WritableState {
highWaterMark: 65536,
length: 0,
corked: 0,
onwrite: [Function: bound onwrite],
writelen: 0,
bufferedIndex: 0,
pendingcb: 0,
[Symbol(kState)]: 17580812,
[Symbol(kBufferedValue)]: null
},
allowHalfOpen: true,
_final: [Function: final],
_maxListeners: undefined,
_transform: [Function: transform],
_eventsCount: 1,
[Symbol(kCapture)]: false,
[Symbol(kCallback)]: null
}
Mitigations
All users should upgrade to Deno v2.6.0 or newer.
- Record
GHSA-5379-f5hf-w38v- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-325
- Updated
- 2026-11-02
NVD
9.2
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.6.0, node:crypto doesn't finalize cipher. The vulnerability allows an attacker to have infinite encryptions. This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets. This vulnerability is fixed in 2.6.0.
- Record
CVE-2026-22863- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-325
- Updated
- 2026-11-02
OSV
9.2
Deno node:crypto doesn't finalize cipher
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.6.0, node:crypto doesn't finalize cipher. The vulnerability allows an attacker to have infinite encryptions. This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets. This vulnerability is fixed in 2.6.0.
- Record
CVE-2026-22863- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-325
- Updated
- 2026-11-02
OSVGHSA-5379-f5hf-w38v
9.2
Deno node:crypto doesn't finalize cipher
Summary
The vulnerability allows an attacker to have infinite encryptions.
This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets.
PoC
import crypto from "node:crypto";
const key = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
cipher.final()
console.log(cipher);
Expected Output
Cipheriv {
_decoder: null,
_options: undefined,
Symbol(kHandle): CipherBase {}
}
Actual Output
Cipheriv {
_events: {
close: undefined,
error: undefined,
prefinish: [Function: prefinish],
finish: undefined,
drain: undefined,
data: undefined,
end: undefined,
readable: undefined
},
_readableState: ReadableState {
highWaterMark: 65536,
buffer: [],
bufferIndex: 0,
length: 0,
pipes: [],
awaitDrainWriters: null,
[Symbol(kState)]: 1048844
},
_writableState: WritableState {
highWaterMark: 65536,
length: 0,
corked: 0,
onwrite: [Function: bound onwrite],
writelen: 0,
bufferedIndex: 0,
pendingcb: 0,
[Symbol(kState)]: 17580812,
[Symbol(kBufferedValue)]: null
},
allowHalfOpen: true,
_final: [Function: final],
_maxListeners: undefined,
_transform: [Function: transform],
_eventsCount: 1,
[Symbol(kCapture)]: false,
[Symbol(kCallback)]: null
}
Mitigations
All users should upgrade to Deno v2.6.0 or newer.
- Record
GHSA-5379-f5hf-w38v- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-325
- Updated
- 2026-11-02
OSVJLSEC-2026-114
9.2
Deno node:crypto doesn't finalize cipher
Summary
The vulnerability allows an attacker to have infinite encryptions.
This can lead to naive attempts at brute forcing, as well as more refined attacks with the goal to learn the server secrets.
PoC
import crypto from "node:crypto";
const key = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
cipher.final()
console.log(cipher);
Expected Output
Cipheriv {
_decoder: null,
_options: undefined,
Symbol(kHandle): CipherBase {}
}
Actual Output
Cipheriv {
_events: {
close: undefined,
error: undefined,
prefinish: [Function: prefinish],
finish: undefined,
drain: undefined,
data: undefined,
end: undefined,
readable: undefined
},
_readableState: ReadableState {
highWaterMark: 65536,
buffer: [],
bufferIndex: 0,
length: 0,
pipes: [],
awaitDrainWriters: null,
[Symbol(kState)]: 1048844
},
_writableState: WritableState {
highWaterMark: 65536,
length: 0,
corked: 0,
onwrite: [Function: bound onwrite],
writelen: 0,
bufferedIndex: 0,
pendingcb: 0,
[Symbol(kState)]: 17580812,
[Symbol(kBufferedValue)]: null
},
allowHalfOpen: true,
_final: [Function: final],
_maxListeners: undefined,
_transform: [Function: transform],
_eventsCount: 1,
[Symbol(kCapture)]: false,
[Symbol(kCallback)]: null
}
Mitigations
All users should upgrade to Deno v2.6.0 or newer.
- Record
JLSEC-2026-114- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-22863 is a critical vulnerability (CVSS 9.2) in Deno, published January 15, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.20%, the 10th percentile. Fixed in deno 2.6.0.