From d43d7a9b48fe98e13984063bd5cbc72754c19fad Mon Sep 17 00:00:00 2001 From: Jeroen Simonetti Date: Thu, 4 Apr 2019 14:20:36 +0200 Subject: [PATCH] Fix invalid attribute length data crash Found using fuzzing. --- link.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/link.go b/link.go index 4844c35..46d20fa 100644 --- a/link.go +++ b/link.go @@ -301,6 +301,9 @@ func (a *LinkAttributes) UnmarshalBinary(b []byte) error { case iflaQdisc: a.QueueDisc = nlenc.String(attr.Data) case iflaOperState: + if len(attr.Data) != 1 { + return errInvalidLinkMessageAttr + } a.OperationalState = OperationalState(nlenc.Uint8(attr.Data)) case iflaStats: a.Stats = &LinkStats{}