A malformed HTTP/2 HEADERS frame with oversized, invalid HPACK data can cause Node.js to crash by triggering an unhandled TLSSocket error ECONNRESET. Instead of safely closing the connection, the process crashes, enabling a remote denial of service. This primarily affects applications that do not attach explicit error handlers to secure sockets, for example:
server.on('secureConnection', socket => {
socket.on('error', err => {
console.log(err)
})
})
{
"versions": [
{
"introduced": "20.0.0"
},
{
"fixed": "20.20.0"
},
{
"introduced": "22.0.0"
},
{
"fixed": "22.22.0"
},
{
"introduced": "24.0.0"
},
{
"fixed": "24.13.0"
},
{
"introduced": "25.0.0"
},
{
"fixed": "25.3.0"
}
]
}