В инструкциях BPF, которые загружают/сохраняют значение из/в регистр временной памяти, индекс регистра представляет собой 32-битное целое число без знака и не должен превышать 15, но интерпретатор libpcap BPF не проверяет значение. В особо редких случаях использования созданная программа-фильтр может заставить интерпретатор попытаться прочитать и записать память процесса ОС в 16 ГБ, начиная с текущего кадра стека в 64-битных архитектурах и во всем адресном пространстве в 32-битных архитектурах.
Показать оригинальное описание (EN)
In BPF instructions that load/store a value from/to a scratch memory register the register index is an unsigned 32-bit integer and must not exceed 15, but libpcap BPF interpreter does not validate the value. In particular uncommon use cases a crafted filter program can cause the interpreter to try reading and writing the OS process memory in the 16GiB starting at the current stack frame on 64-bit architectures and in the entire address space on 32-bit architectures.
Характеристики атаки
Последствия
Строка CVSS v3.1