Merge pull request #24 from Jah-yee/fix-ace-parsepanic

security: reject ACE with AceSize below minimum header size
This commit is contained in:
Jacob Paullus
2026-05-11 23:31:51 -05:00
committed by GitHub
+3
View File
@@ -48,6 +48,9 @@ func ParseACE(data []byte) (*ACE, int, error) {
Flags: data[1], Flags: data[1],
} }
aceSize := int(binary.LittleEndian.Uint16(data[2:4])) aceSize := int(binary.LittleEndian.Uint16(data[2:4]))
if aceSize < 8 {
return nil, 0, fmt.Errorf("ACE size %d is below minimum header size of 8", aceSize)
}
if len(data) < aceSize { if len(data) < aceSize {
return nil, 0, fmt.Errorf("ACE size %d exceeds available data %d", aceSize, len(data)) return nil, 0, fmt.Errorf("ACE size %d exceeds available data %d", aceSize, len(data))
} }