Skip to content

solo5-hvt ELF parser: assert can be trigerred by malformed ELF files #612

@edwintorok

Description

@edwintorok

afl found this one:

solo5-hvt: common/elf.c:479: elf_load_note: Assertion `note_size != 0 && note_size <= nhdr.h.n_descsz' failed.
[1]    70694 IOT instruction (core dumped)  solo5-hvt

This crashes before any code is executed, so is safe in that sense, but when solo-hvt is running potentially untrusted unikernels the coredumps could need special handling (e.g. solo5-hvt might need to be run with a coredump limit of 0).

I suggest replacing these assertions that are user triggerable with error handling that doesn't leave a coredump behind.
assertions should only be used for internal programming errors.

If needed I can share the corrupt ELF file:
/var/home/edwin/git/solo5/out/default/crashes/id:000000,sig:06,src:000002,time:52084,execs:9138,op:int8,pos:24580,val:+1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions