diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index 5a3b0a6353..9773a067d5 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -1005,7 +1005,7 @@ static int client_parse_message( if (optlen != 4) return -EINVAL; - irt = be32toh(*(be32_t *) optval) * USEC_PER_SEC; + irt = unaligned_read_be32((be32_t *) optval) * USEC_PER_SEC; break; } diff --git a/test/fuzz/fuzz-dhcp6-client/crash-13591 b/test/fuzz/fuzz-dhcp6-client/crash-13591 new file mode 100644 index 0000000000..20ac358f4d Binary files /dev/null and b/test/fuzz/fuzz-dhcp6-client/crash-13591 differ