hyperlight-dev / hyperlight-dev/hyperlight

Self-modifying code should crash on modification

Aberta
#562 0 comentários 0 reações 0 responsáveis Ver no GitHub
area/security lifecycle/confirmed
Linguagem predominante
Rust
Estrelas
4.7k
Forks
208
Merge médio
1d 7h
PRs com merge (30d)
48

Descrição

### 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:

```c
void victim() {}

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

### Hyperlight Version

0.5.1

### OS version

```console
$ 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````

### Additional Information

_No response_

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece executando o reproducer de guest fornecido, usando os entry points victim e should_crash, e inspecione como as escritas do guest em segmentos de código são tratadas. O resultado esperado é que escrever por meio de victim_ptr aborte o guest em vez de modificar o código com sucesso; o payload não nomeia arquivos nem testes do repositório.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
c, rust
Domínio
operating-systems, security
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.