Skip to content

make clean without Makefile.config tries to delete /bin and /lib #2328

@flx42

Description

@flx42

If you do make clean without having a Makefile.config file, the command will try to "rm -r" /bin and /lib on your system. This will totally nuke your system if you have sufficient privileges. This bug is obviously the highest priority you can get.
Since Makefile fails to import Makefile.config, $(DISTRIBUTE_DIR)/bin $(DISTRIBUTE_DIR)/lib will resolve to /bin and /lib. This also works if you do have a Makefile.config file but DISTRIBUTE_DIR is empty:
DISTRIBUTE_DIR :=

Simple repro:
$ git clone https://github.com/BVLC/caffe.git
$ cd caffe
$ make clean
Makefile:4: Makefile.config: No such file or directory
make: *** No rule to make target Makefile.config'. make: Failed to remake makefileMakefile.config'.
rm: cannot remove '/bin/setfacl': Permission denied
rm: cannot remove '/bin/sed': Permission denied
rm: cannot remove '/bin/bzegrep': Permission denied
rm: cannot remove '/bin/true': Permission denied
rm: cannot remove '/bin/mt-gnu': Permission denied
rm: cannot remove '/bin/bzfgrep': Permission denied
rm: cannot remove '/bin/dbus-cleanup-sockets': Permission denied
rm: cannot remove '/bin/uncompress': Permission denied
rm: cannot remove '/bin/open': Permission denied
rm: cannot remove '/bin/kbd_mode': Permission denied
rm: cannot remove '/bin/rbash': Permission denied
rm: cannot remove '/bin/setfont': Permission denied
rm: cannot remove '/bin/gzip': Permission denied
rm: cannot remove '/bin/findmnt': Permission denied
rm: cannot remove '/bin/zegrep': Permission denied
rm: cannot remove '/bin/lesskey': Permission denied
rm: cannot remove '/bin/busybox': Permission denied
rm: cannot remove '/bin/umount': Permission denied
rm: cannot remove '/bin/lessfile': Permission denied
rm: cannot remove '/bin/keyctl': Permission denied
rm: cannot remove '/bin/bzcat': Permission denied
[...]
rm: cannot remove '/lib/libip6tc.so.0.1.0': Permission denied
rm: cannot remove '/lib/libiptc.so.0.0.0': Permission denied
rm: cannot remove '/lib/ufw/ufw-init': Permission denied
rm: cannot remove '/lib/ufw/ufw-init-functions': Permission denied
rm: cannot remove '/lib/ufw/user6.rules': Permission denied
rm: cannot remove '/lib/ufw/user.rules': Permission denied
rm: cannot remove '/lib/crda/regulatory.bin': Permission denied
[...]

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