Skip to main content
50

decode_error

FatalRFC 8446 §6.2

decode_error (50) is sent when a TLS message cannot be decoded because a field is out of the specified range or the length of the message is incorrect. The data was received but cannot be parsed as a valid TLS structure. This is a protocol-layer parsing failure, not an application-level error.

Alert Code

50

Level

Fatal

Standard

RFC 8446

Description

decode_error fires when TLS record parsing fails – a field value does not match the expected format, a vector length exceeds bounds, or an enum value is not valid. For example, a ClientHello with a legacy_version field set to an unknown value, or a handshake message with a length that extends beyond the record boundary. This indicates either a buggy TLS implementation on the peer side or network corruption that modified the TLS handshake bytes.

Common Causes

  • Handshake message length field inconsistent with actual data
  • Enum field contains an unknown or invalid value
  • Extension data length exceeds the extension payload
  • Network corruption modifying handshake bytes
  • TLS implementation bug producing malformed messages