CVE-2026-12413

Summary

An invalidly formatted IKEv2 fragment causes the Libreswan pluto daemon to crash and restart. Continued exploitation would cause a denial of service. The function reassemble_v2_incoming_fragments() would ignore unknown outer payloads but still store these in a fixed size array msg_digest.digest[PAYLIMIT]. An off-by-one error in the assertion PASSERT(logger, md->digest_roof < elemsof(md->digest)) causes the daemon to abort. No remote code execution is possible. Any configuration that allows IKEv2 connections that do not set fragmentation=no are vulnerable. IKEv1 is not affected.

Affected Software

VendorProductVersion RangeStatus
The Libreswan Projectlibreswan4.6 <= 5.3affected
The Libreswan Projectlibreswan5.3.1unaffected

Weaknesses

  • CWE-193: Off-by-one Error
  • CWE-617: Reachable Assertion

Workarounds

If fragmentation is not needed, fragmentation=no can be added to all IKEv2 configurations. If fragmentation is needed, no workaround is possible and the fix needs to be applied.

References