LINUX.ORG.RU

История изменений

Исправление rtxtxtrx, (текущая версия) :

с чего ты решил что они работают? об эксплойтах обычно узнают через 5-10 лет после того как проэксплатируют все кому не лень.

Вот пример уязвимого кода:

vuln.c

#include <stdio.h>
#include <string.h>

void vulnerable_function(const char *input) {
    char buffer[64];
    // Копируем входные данные в буфер без проверки длины
    strcpy(buffer, input);
    printf("Buffer: %s\n", buffer);
}

void secret_function() {
    printf("Secret function has been called!\n");
}

int main(int argc, char *argv[]) {
    if (argc < 2) {
        printf("Usage: %s <input>\n", argv[0]);
        return 1;
    }

    vulnerable_function(argv[1]);
    return 0;
}

В результате переполнения буфера можно вызвать любую функцию, зная ее адрес:

./vuln $(python -c 'print "A"*64 + "<адрес функции>"')

Проблема лишь с его вычислением из-за ASLR, механизма, который меняет адреса при каждом вызове программы… Но чем сложнее програ, тем больше возможностей сделать «невозможное»

https://ethicalhacking.uk/cve-2023-0179-a-buffer-overflow-vulnerability-in-the-linux-kernel/#gsc.tab=0

Я не знаю как тебя какое-то говноядро защитит, если там не коммитили 3 года, а уязвимости выше 1 год

Исходная версия rtxtxtrx, :

с чего ты решил что они работают? об эксплойтах обычно узнают через 5-10 лет после того как проэксплатируют все кому не лень.

Вот пример уязвимого кода:

vuln.c

#include <stdio.h>
#include <string.h>

void vulnerable_function(const char *input) {
    char buffer[64];
    // Копируем входные данные в буфер без проверки длины
    strcpy(buffer, input);
    printf("Buffer: %s\n", buffer);
}

void secret_function() {
    printf("Secret function has been called!\n");
}

int main(int argc, char *argv[]) {
    if (argc < 2) {
        printf("Usage: %s <input>\n", argv[0]);
        return 1;
    }

    vulnerable_function(argv[1]);
    return 0;
}

В результате переполнения буфера можно вызвать любую функцию:

./vuln $(python -c 'print "A"*64 + "<адрес функции>"')

Проблема с его вычислением из-за ASLR, механизма, который меняет адреса при каждом вызове программы…

https://ethicalhacking.uk/cve-2023-0179-a-buffer-overflow-vulnerability-in-the-linux-kernel/#gsc.tab=0

Я не знаю как тебя какое-то говноядро защитит, если там не коммитили 3 года, а уязвимости выше 1 год