ladybird/Kernel
Andreas Kling 862b3ccb4e Kernel: Enforce W^X between sys$mmap() and sys$execve()
It's now an error to sys$mmap() a file as writable if it's currently
mapped executable by anyone else.

It's also an error to sys$execve() a file that's currently mapped
writable by anyone else.

This fixes a race condition vulnerability where one program could make
modifications to an executable while another process was in the kernel,
in the middle of exec'ing the same executable.

Test: Kernel/elf-execve-mmap-race.cpp
2020-01-18 23:40:12 +01:00
..
ACPI Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Arch/i386 Kernel: Stop flushing GDT/IDT registers all the time 2020-01-18 11:10:44 +01:00
Devices Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileSystem Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Heap Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Net RTL8139: Unbreak RealTek Ethernet driver after paging changes 2020-01-18 09:52:40 +01:00
PCI Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TTY Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
VM Kernel: Enforce W^X between sys$mmap() and sys$execve() 2020-01-18 23:40:12 +01:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
build-gpt-image-grub.sh Build: Fix more bugs in the POSIX sh-ification of scripts 2019-11-03 13:11:43 +01:00
build-image-grub.sh Build: use $SUDO_[UG]ID in build-image-* instead of relying on makeall 2020-01-15 21:52:09 +01:00
build-image-qemu.sh Build: use $SUDO_[UG]ID in build-image-* instead of relying on makeall 2020-01-15 21:52:09 +01:00
build-root-filesystem.sh Base: Let's make home directories 700 to keep things private :^) 2020-01-09 21:57:52 +01:00
CMOS.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Console.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Console.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
debug-kernel Debugging: Add kernel debugging support 2020-01-13 11:06:42 +01:00
DoubleBuffer.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
DoubleBuffer.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FB.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
grub_gpt.cfg Kernel: Move DMI decoder initialization method to init_stage2 2020-01-14 15:38:58 +01:00
grub.cfg Kernel: Move DMI decoder initialization method to init_stage2 2020-01-14 15:38:58 +01:00
init.cpp Kernel: Clean up and reorganize init.cpp 2020-01-18 10:24:57 +01:00
IO.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
IRQHandler.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
IRQHandler.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KBuffer.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KBufferBuilder.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KBufferBuilder.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KernelInfoPage.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KeyCode.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KParams.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KParams.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
kprintf.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KResult.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
kstdio.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KSyms.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KSyms.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
linker.ld Kernel: Move kernel above the 3GB virtual address mark 2020-01-17 22:34:26 +01:00
Lock.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Lock.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
makeall.sh Build: use $SUDO_[UG]ID in build-image-* instead of relying on makeall 2020-01-15 21:52:09 +01:00
Makefile Kernel: Move kernel above the 3GB virtual address mark 2020-01-17 22:34:26 +01:00
mkmap.sh Kernel: Allow modules to link against anything in kernel.map :^) 2019-11-28 21:30:20 +01:00
Module.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
MousePacket.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Process.cpp Kernel: Enforce W^X between sys$mmap() and sys$execve() 2020-01-18 23:40:12 +01:00
Process.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ProcessTracer.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ProcessTracer.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Profiling.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Profiling.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Random.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Random.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
RTC.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
run run: Bump default RAM size from 128 MB to 256 MB 2020-01-15 23:14:20 +01:00
Scheduler.cpp Kernel: Stop flushing GDT/IDT registers all the time 2020-01-18 11:10:44 +01:00
Scheduler.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
SharedBuffer.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
SharedBuffer.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
StdLib.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
StdLib.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
sync.sh Meta: Allow sync.sh to be run from any directory 2020-01-06 10:43:00 +01:00
Syscall.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Syscall.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TestModule.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Thread.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Thread.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TimerQueue.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TimerQueue.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
UnixTypes.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
WaitQueue.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
WaitQueue.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00