From c7aac3f5de2d6764a21c6fa798958bf6de823c0d Mon Sep 17 00:00:00 2001 From: LordNoteworthy Date: Wed, 8 Dec 2021 18:04:14 +1100 Subject: [PATCH] fix: COFF symbol table readASCIIStringAtOffset out of bounds exception --- helper.go | 7 ++- symbol.go | 42 +++++++++++------- symbol_test.go | 41 +++++++++++++---- ...795df58f07e3031563e042d2eb415bffa71fe7a.7z | Bin 0 -> 50378 bytes 4 files changed, 62 insertions(+), 28 deletions(-) create mode 100644 test/0103daa751660333b7ae5f098795df58f07e3031563e042d2eb415bffa71fe7a.7z diff --git a/helper.go b/helper.go index 7e8b348..f33a5f0 100644 --- a/helper.go +++ b/helper.go @@ -297,14 +297,13 @@ func (pe *File) readUnicodeStringAtRVA(rva uint32, maxLength uint32) string { } func (pe *File) readASCIIStringAtOffset(offset, maxLength uint32) (uint32, string) { - var i uint32 str := "" - buff := pe.data[offset : offset+maxLength] + i := uint32(0) for i = 0; i < maxLength; i++ { - if buff[i] == 0 { + if i > pe.size || pe.data[offset+i] == 0 { break } - str += string(buff[i]) + str += string(pe.data[offset+i]) } return i, str } diff --git a/symbol.go b/symbol.go index a007e5a..9ab843f 100644 --- a/symbol.go +++ b/symbol.go @@ -19,6 +19,10 @@ const ( // Example: 0000e876c5b712b6b7b3ce97f757ddd918fb3dbdc5a3938e850716fbd841309f MaxDefaultCOFFSymbolsCount = 0x10000 + // MaxCOFFSymStrLength represents the maximum string length of a COFF symbol + // to read. + MaxCOFFSymStrLength = 0x50 + // // Type Representation // @@ -238,12 +242,13 @@ type COFFSymbol struct { Value uint32 // The signed integer that identifies the section, using a one-based index - // into the section table. Some values have special meaning, as defined in section 5.4.2, "Section Number Values." + // into the section table. Some values have special meaning. + // See "Section Number Values." SectionNumber int16 // A number that represents type. Microsoft tools set this field to - // 0x20 (function) or 0x0 (not a function). - // For more information, see Type Representation. + // 0x20 (function) or 0x0 (not a function). For more information, + // see Type Representation. Type uint16 // An enumerated value that represents storage class. @@ -284,10 +289,15 @@ func (pe *File) ParseCOFFSymbolTable() error { return errCOFFSymbolsTooHigh } - size := uint32(binary.Size(COFFSymbol{})) + // The location of the symbol table is indicated in the COFF header. offset := pe.NtHeader.FileHeader.PointerToSymbolTable + + // The symbol table is an array of records, each 18 bytes long. + size := uint32(binary.Size(COFFSymbol{})) symbols := make([]COFFSymbol, symCount) + // Each record is either a standard or auxiliary symbol-table record. + // A standard record defines a symbol or name and has the COFFSymbol STRUCT format. for i := uint32(0); i < symCount; i++ { err := pe.structUnpack(&symbols[i], offset, size) if err != nil { @@ -329,12 +339,12 @@ func (pe *File) COFFStringTable() error { // of a symbol. size := uint32(binary.Size(COFFSymbol{})) offset := pointerToSymbolTable + (size * symCount) - pe.COFF.StringTableOffset = offset // At the beginning of the COFF string table are 4 bytes that contain the // total size (in bytes) of the rest of the string table. This size // includes the size field itself, so that the value in this location would // be 4 if no strings were present. + pe.COFF.StringTableOffset = offset strTableSize, err := pe.ReadUint32(offset) if err != nil { return err @@ -347,11 +357,11 @@ func (pe *File) COFFStringTable() error { // Following the size are null-terminated strings that are pointed to by // symbols in the COFF symbol table. We create a map to map offset to // string. - end := offset + strTableSize - for offset <= end { - len, str := pe.readASCIIStringAtOffset(offset, 0x30) + end := offset + strTableSize - 4 + for offset < end { + len, str := pe.readASCIIStringAtOffset(offset, MaxCOFFSymStrLength) if len == 0 { - break + continue } m[offset] = str offset += len + 1 @@ -362,13 +372,14 @@ func (pe *File) COFFStringTable() error { return nil } -// String returns represenation of the symbol name. +// String returns the representation of the symbol name. func (symbol *COFFSymbol) String(pe *File) (string, error) { - // contain the name itself, if it is not more than 8 bytes long, or the - // ShortName field gives an offset into the string table. To determine - // whether the name itself or an offset is given, test the first 4 - // bytes for equality to zero. var short, long uint32 + + // The ShortName field in a symbol table consists of 8 bytes + // that contain the name itself, if it is not more than 8 + // bytes long, or the ShortName field gives an offset into + // the string table. highDw := bytes.NewBuffer(symbol.Name[4:]) lowDw := bytes.NewBuffer(symbol.Name[:4]) errl := binary.Read(lowDw, binary.LittleEndian, &short) @@ -377,7 +388,8 @@ func (symbol *COFFSymbol) String(pe *File) (string, error) { return "", errCOFFSymbolOutOfBounds } - // if 0, use LongName. + // To determine whether the name itself or an offset is given, + // test the first 4 bytes for equality to zero. if short != 0 { name := strings.Replace(string(symbol.Name[:]), "\x00", "", -1) return name, nil diff --git a/symbol_test.go b/symbol_test.go index fdb8653..bc4e071 100644 --- a/symbol_test.go +++ b/symbol_test.go @@ -9,6 +9,7 @@ import "testing" type TestCOFFSymbol struct { errTooManySymbols error symbolsCount int + symbolIdx int symbol COFFSymbol stringTableOffset uint32 symbolName string @@ -24,7 +25,8 @@ var symbolTests = []struct { getAbsoluteFilePath("test/liblzo2-2"), TestCOFFSymbol{ errTooManySymbols: nil, - symbolsCount: 50, + symbolsCount: 50, + symbolIdx: 0, symbol: COFFSymbol{ Name: [8]byte{0, 0, 0, 0, 4, 0, 0, 0}, Value: 0x2ac, @@ -40,6 +42,27 @@ var symbolTests = []struct { }, }, + { + getAbsoluteFilePath("test/0103daa751660333b7ae5f098795df58f07e3031563e042d2eb415bffa71fe7a"), + TestCOFFSymbol{ + errTooManySymbols: nil, + symbolsCount: 346, + symbolIdx: 3, + symbol: COFFSymbol{ + Name: [8]byte{0, 0, 0, 0, 4, 0, 0, 0}, + Value: 0x2ac, + SectionNumber: 8, + Type: 0x0, + StorageClass: 0x2, + NumberOfAuxSymbols: 0x0, + }, + stringTableOffset: 0x1b054, + symbolName: "___mingw_CRTStartup", + sectionNumberName: ".text", + symbolTypeString: "", + }, + }, + { getAbsoluteFilePath("test/0000e876c5b712b6b7b3ce97f757ddd918fb3dbdc5a3938e850716fbd841309f"), TestCOFFSymbol{ @@ -72,32 +95,32 @@ func TestParseCOFFSymbolTable(t *testing.T) { } if len(file.COFF.SymbolTable) != tt.out.symbolsCount { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %d, got: %d", tt.in, tt.out.symbolsCount, len(file.COFF.SymbolTable)) + t.Errorf("symbolsCount assertion failed, want: %d, got: %d", tt.out.symbolsCount, len(file.COFF.SymbolTable)) } if file.COFF.StringTableOffset != tt.out.stringTableOffset { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %d, got: %d", tt.in, tt.out.stringTableOffset, file.COFF.StringTableOffset) + t.Errorf("stringTableOffset assertion failed, want: %d, got: %d", tt.out.stringTableOffset, file.COFF.StringTableOffset) } if !stringInSlice(tt.out.symbolName, file.COFF.StringTable) { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %s, got: %v", tt.in, tt.out.symbolName, file.COFF.StringTable) + t.Errorf("symbolName assertion failed, want: %s, got: %v", tt.out.symbolName, file.COFF.StringTable) } - coffSymbol := file.COFF.SymbolTable[0] + coffSymbol := file.COFF.SymbolTable[tt.out.symbolIdx] symbolNameStr, err := coffSymbol.String(file) if err != nil { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, COFFSymbol.String() failed with: %v", tt.in, err) + t.Errorf("COFFSymbol.String() failed with: %v", err) } if symbolNameStr != tt.out.symbolName { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %d, got: %d", tt.in, tt.out.symbolsCount, len(file.COFF.SymbolTable)) + t.Errorf("symbol name to string failed, want: %s, got: %s", tt.out.symbolName, symbolNameStr) } secNumName := coffSymbol.SectionNumberName(file) if secNumName != tt.out.sectionNumberName { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %s, got: %s", tt.in, tt.out.sectionNumberName, secNumName) + t.Errorf("SectionNumberName assertion failed, want: %s, got: %s", tt.out.sectionNumberName, secNumName) } typeString := file.PrettyCOFFTypeRepresentation(coffSymbol.Type) if typeString != tt.out.symbolTypeString { - t.Errorf("TestParseCOFFSymbolTable(%s) failed, want: %s, got: %s", tt.in, tt.out.symbolTypeString, typeString) + t.Errorf("PrettyCOFFTypeRepresentation assertion failed, want: %s, got: %s", tt.out.symbolTypeString, typeString) } }) } diff --git a/test/0103daa751660333b7ae5f098795df58f07e3031563e042d2eb415bffa71fe7a.7z b/test/0103daa751660333b7ae5f098795df58f07e3031563e042d2eb415bffa71fe7a.7z new file mode 100644 index 0000000000000000000000000000000000000000..1637cf03f412e2acc12fd762c82c29b1fad506f3 GIT binary patch literal 50378 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