Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-46331-audit — cve-2026-46331-script de auditoría | Kitploit
Herramientas/GitHubGitHub/quaerendir/cve-2026-46331-audit
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAnálisis ForensePapers e InvestigaciónAprendizaje y EducaciónRespuesta a Incidentes
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

cve-2026-46331-script de auditoría

Ver Repositorio
25hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

cve-2026-46331-audit

CVE Name CVSS Disclosed Shell License Version CI

Script de auditoría de solo lectura para CVE-2026-46331 (también conocido como pedit COW) — un fallo de copy-on-write parcial en la acción act_pedit de net/sched del kernel de Linux que permite a un usuario local sin privilegios corromper la memoria de la caché de páginas y escalar a root.

   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

TL;DR

tcf_pedit_act() calcula el rango COW para skb_ensure_writable() una vez antes del bucle de claves, usando tcfp_off_max_hint. Las claves tipadas añaden un desplazamiento de cabecera en tiempo de ejecución que la pista no cubre, por lo que parte de la escritura final cae fuera de la región COW. Resultado: las páginas compartidas de la caché de páginas se corrompen, y un binario setuid en caché (objetivo clásico: /bin/su) puede ser envenenado en memoria. Los hashes en disco permanecen limpios. Los monitores de integridad de archivos no lo detectarán.

Misma familia de errores que Dirty COW (CVE-2016-5195), Dirty Pipe (CVE-2022-0847), Copy Fail (CVE-2026-31431) y Dirty Frag (CVE-2026-46300). El punto de entrada es diferente, el fallo de propiedad de página es el mismo.

CVECVE-2026-46331
ComponenteKernel Linux net/sched / act_pedit
ClaseCOW parcial → corrupción de la caché de páginas → LPE
Vector de ataqueLocal (CAP_NET_ADMIN, típicamente adquirido mediante userns sin privilegios)
Afectados upstream5.18 .. 7.1-rc6
Corrección upstream7.1-rc7
PoC públicopacket_edit_meme (verificado en RHEL 10, Debian 13, Ubuntu 24.04.4)
Severidad Red HatImportant
CVSS 3.1 de SUSE7.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)

Qué hace este script

Triaje estrictamente de solo lectura. Nunca carga un módulo, nunca toca sysctl, nunca ejecuta un PoC. Diseñado para ser seguro de ejecutar en producción.

  • Inventaría el kernel en ejecución, la distro y la versión del paquete del kernel.
  • Sondea la alcanzabilidad de act_pedit mediante cuatro señales independientes:
    • actualmente cargado (lsmod)
    • cargable bajo demanda (modinfo)
    • integrado en el kernel en ejecución (/boot/config-$(uname -r), /proc/config.gz, modules.builtin)
    • bloqueado por una anulación install ... /bin/true en modprobe.d, o por blacklist en kernels que autocargan act_pedit a través de su alias net-act-pedit (6.9+; los kernels más antiguos lo solicitan por nombre, lo que blacklist no detiene)
  • Lista las reglas tc action pedit existentes (informativo; sin cambios).
  • Lee las restricciones de userns / netns: user.max_user_namespaces, kernel.unprivileged_userns_clone, user.max_net_namespaces, y las restricciones de userns de AppArmor en Ubuntu.
  • Matriz heurística de parches por proveedor según /etc/os-release (RHEL 8/9/10, Debian 11/12/13/14, Ubuntu 18.04→26.04, SUSE, Amazon Linux, familia Arch rolling).
  • Búsqueda opcional de IoC de comportamiento mediante auditd y journalctl (ventana configurable mediante --since y --until).
  • Puntuación de riesgo de 0-100 y un veredicto final: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • Códigos de salida diseñados para orquestación de flotas.

Uso

sudo ./cve-2026-46331-audit.sh                       # full text report
sudo ./cve-2026-46331-audit.sh --json                # machine-readable JSON, no banner
sudo ./cve-2026-46331-audit.sh --quiet --no-hunt     # one-line verdict for mass scans
sudo ./cve-2026-46331-audit.sh --since 2026-06-01    # widen IoC hunt window
sudo ./cve-2026-46331-audit.sh --since 2026-06-01 --until 2026-09-01  # bounded IoC window
sudo ./cve-2026-46331-audit.sh --no-banner           # text report without the ASCII banner
./cve-2026-46331-audit.sh --version                  # print script version and exit

Códigos de salida

CódigoSignificado
0PATCHED o NOT_APPLICABLE (el kernel es anterior al bug)
1MITIGATED (mitigación activa, el kernel sigue siendo vulnerable, aplicar el parche de todos modos)
2VULNERABLE (se cumple una o más precondiciones requeridas, no hay kernel corregido)
3UNKNOWN (tratar como sospechoso en contextos compartidos / CI / Kubernetes)
4ERROR (el script no pudo ejecutarse; faltan herramientas o el entorno es incorrecto)

Salida de ejemplo

Consulte examples/sample-output.txt para una ejecución completa, y examples/sample-output.json para la forma JSON.

Modelo de puntuación de riesgo

La puntuación es una combinación ponderada de:

SeñalPeso
Veredicto del proveedor VULNERABLE+50
Veredicto del proveedor UNKNOWN+30
act_pedit integrado en el kernel+25
act_pedit cargable, sin anulación+20
act_pedit cargable, anulación o lista negra activa+5
act_pedit cargado actualmente+5
userns+netns sin privilegios accesible, sin puerta de AppArmor+15
userns+netns sin privilegios accesible, puerta de AppArmor activa+8
IoCs encontrados en la ventana de búsqueda+10

Limitado a 100. Cualquier valor por encima de ~70 debe tratarse como urgente en nodos multiinquilino / CI / Kubernetes; por debajo de ~20 suele ser una confirmación de que el host está bien.

Despliegue masivo

Ansible

ansible -i inventory all -m script \
  -a "cve-2026-46331-audit.sh --json --quiet --no-hunt" \
  --become \
  | tee /tmp/audit.jsonl

Luego agrega con jq:

grep -v '^[a-z]' /tmp/audit.jsonl | jq -s 'group_by(.verdict) | map({verdict: .[0].verdict, hosts: length})'

Failed_when en un play

- name: audit CVE-2026-46331
  ansible.builtin.script: cve-2026-46331-audit.sh --quiet --no-hunt
  register: audit
  failed_when: audit.rc == 2
  changed_when: false

Mitigaciones (si necesitas retrasar la aplicación del parche)

En orden de preferencia. El script recomendará la adecuada según lo que haya encontrado.

# Option 1: block act_pedit if you don't use it.
tc actions list action pedit                  # MUST be empty before doing this

# 1a) Hard block via modprobe install override (strongest).
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf

# 1b) `blacklist act_pedit` only stops the autoload on kernels 6.9+, which
#     request the "net-act-pedit" alias. Older kernels load it by name and
#     ignore the blacklist, so prefer 1a. Check your kernel:
modinfo -F alias act_pedit | grep -qx net-act-pedit && echo "blacklist works here"

lsmod | grep -q act_pedit && sudo rmmod act_pedit
Descargar herramienta