Skip to content

Local/Remote Crash (DoS) in SET_CAR #74

Description

@Halcy0nic

Hi!

Love the npl tool, I think it's super creative and really easy to use.

Brief Summary

While I was using the tool I had my fuzzer running in the background and came across a local/remote crash (DoS condition) as a result of slightly malformed input. Running the tool as a daemon/service (via inetd or some other means) would cause it to crash for all users accessing npl. The issue comes from invoking the SET_CAR function on an Atom when the input is malformed.

Reproduction

I've attached the input for reproduction purposes. After running npl against the input you can see following the GDB trace:

./npl -s ./input_file

gdb_nprolog_segfault

gdb_nprolog_set_car

Below is the hex dump of the input file:
xxd_crash_nprolog

A similar process could be repeated for GET_CAR
files.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions