Skip to content

Self-modifying code should crash on modification #562

Open
@qbradley

Description

@qbradley

What happened?

For defense in depth, attempts to write to code segments should abort the guest.

What did you expect to happen?

I expected a crash, but instead the modification was successful.

Steps to reproduce the behavior

The following test should crash when run in a guest:

void victim() {}

void should_crash() {
    void (*victim_ptr)() = victim;
    *((char *)victim_ptr) = 0;
}

Hyperlight Version

0.5.1

OS version

$ cat /etc/os-release
NAME="Microsoft Azure Linux"
VERSION="3.0.20250521"
ID=azurelinux
VERSION_ID="3.0"
PRETTY_NAME="Microsoft Azure Linux 3.0"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/azurelinux"
BUG_REPORT_URL="https://aka.ms/azurelinux"
SUPPORT_URL="https://aka.ms/azurelinux"
$ uname -a
Linux 75b2257d5bbb 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux````
</details>


### Additional Information

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/securityInvolves security-related changes or fixeslifecycle/confirmedBug is verified or proposal seems reasonable

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions