Linux Kernel hasta 6.1/6.6.13/6.7.1 BPF /test_progs btf_put desbordamiento de búfer

| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 7.0 | $0-$5k | 0.00 |
Resumen
Una vulnerabilidad ha sido encontrada en Linux Kernel hasta 6.1/6.6.13/6.7.1 y clasificada como problemática. Está afectada una función desconocida en el archivo /test_progs en el componente BPF. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esta vulnerabilidad está identificada como CVE-2023-52446. No existe ningún exploit disponible. Es recomendable actualizar el componente afectado.
Detalles
Una vulnerabilidad clasificada como problemática ha sido encontrada en Linux Kernel hasta 6.1/6.6.13/6.7.1 (Operating System). La función btf_put del archivo /test_progs del componente BPF es afectada por esta vulnerabilidad. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Los efectos exactos de un ataque con éxito no son conocidos. CVE resume:
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: bpf: corrige una condición de ejecución entre btf_put() y map_free() Al ejecutar `./test_progs -j` en mi máquina virtual local con el último kernel, una vez encontré un error kasan como a continuación: [ 1887.184724] ERROR: KASAN: slab-use-after-free en bpf_rb_root_free+0x1f8/0x2b0 [ 1887.185599] Lectura del tamaño 4 en la dirección ffff888106806910 por tarea kworker/u12:2/2830 [ 1887.186498] [ 1887.186712] CPU: 3 PID: 2830 Comm: kworker/u12:2 Contaminado: G OEL 6.7.0-rc3-00699-g90679706d486-dirty #494 [1887.188034] Nombre de hardware: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0 -0-g155821a1990b-prebuilt.qemu.org 01/04/2014 [1887.189618] Cola de trabajo: events_unbound bpf_map_free_deferred [1887.190341] Seguimiento de llamadas: [1887.190666] [1887.190949] dump_stack_lv l+0xac/0xe0 [ 1887.191423] ? nf_tcp_handle_invalid+0x1b0/0x1b0 [1887.192019]? pánico+0x3c0/0x3c0 [ 1887.192449] print_report+0x14f/0x720 [ 1887.192930] ? preempt_count_sub+0x1c/0xd0 [1887.193459]? __virt_addr_valid+0xac/0x120 [1887.194004]? bpf_rb_root_free+0x1f8/0x2b0 [ 1887.194572] kasan_report+0xc3/0x100 [ 1887.195085] ? bpf_rb_root_free+0x1f8/0x2b0 [ 1887.195668] bpf_rb_root_free+0x1f8/0x2b0 [ 1887.196183] ? __bpf_obj_drop_impl+0xb0/0xb0 [1887.196736]? preempt_count_sub+0x1c/0xd0 [1887.197270]? preempt_count_sub+0x1c/0xd0 [1887.197802]? _raw_spin_unlock+0x1f/0x40 [ 1887.198319] bpf_obj_free_fields+0x1d4/0x260 [ 1887.198883] array_map_free+0x1a3/0x260 [ 1887.199380] bpf_map_free_deferred+0x7b/0xe0 [ 18 87.199943] Process_scheduled_works+0x3a2/0x6c0 [1887.200549] trabajador_thread+0x633/0x890 [1887.201047]? __kthread_parkme+0xd7/0xf0 [ 1887.201574] ? kthread+0x102/0x1d0 [ 1887.202020] kthread+0x1ab/0x1d0 [ 1887.202447] ? pr_cont_work+0x270/0x270 [1887.202954]? kthread_blkcg+0x50/0x50 [ 1887.203444] ret_from_fork+0x34/0x50 [ 1887.203914] ? kthread_blkcg+0x50/0x50 [ 1887.204397] ret_from_fork_asm+0x11/0x20 [ 1887.204913] [ 1887.204913] [ 1887.205209] [ 1887.205416] Asignado por tarea 2197: [1887.205881] kasan_set_track+0x3f/0x60 [1887.206366] __kasan_kmalloc +0x6e/0x80 [ 1887.206856] __kmalloc+0xac/0x1a0 [ 1887.207293] btf_parse_fields+0xa15/0x1480 [ 1887.207836] btf_parse_struct_metas+0x566/0x670 [ 1887.208387 ] btf_new_fd+0x294/0x4d0 [ 1887.208851] __sys_bpf+0x4ba/0x600 [ 1887.209292] __x64_sys_bpf+0x41 /0x50 [ 1887.209762] do_syscall_64+0x4c/0xf0 [ 1887.210222] Entry_SYSCALL_64_after_hwframe+0x63/0x6b [ 1887.210868] [ 1887.211074] Liberado por la tarea 36: [ 1887.21146 0] kasan_set_track+0x3f/0x60 [ 1887.211951] kasan_save_free_info+0x28/0x40 [ 1887.212485] ____kasan_slab_free+ 0x101/0x180 [ 1887.213027] __kmem_cache_free+0xe4/0x210 [ 1887.213514] btf_free+0x5b/0x130 [ 1887.213918] rcu_core+0x638/0xcc0 [ 1887.214347] __do_ softirq+0x114/0x37e El error ocurre en bpf_rb_root_free+0x1f8/0x2b0: 00000000000034c0 : ; { 34c0: f3 0f 1e fa endbr64 34c4: e8 00 00 00 00 callq 0x34c9 34c9: 55 pushq %rbp 34ca: 48 89 e5 movq %rsp, %rbp ... ; if (rec && rec->refcount_off >= 0 && 36aa: 4d 85 ed testq %r13, %r13 36ad: 74 a9 je 0x3658 36af: 49 8d 7d 10 leaq 0x10(%r13), %rdi 36b3 : e8 00 00 00 00 callq 0x36b8 <==== función kasan 36b8: 45 8b 7d 10 movl 0x10(%r13), %r15d <==== carga de uso después de liberación 36bc: 45 85 ff testl %r15d, %r15d 36bf: 78 8c js 0x364d Entonces el problema ---truncado---La vulnerabilidad fue publicada el 2024-02-22 (confirmado). El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2023-52446. Hay detalles técnicos conocidos, pero no se dispone de un exploit.
Una actualización a la versión 6.2, 6.6.14, 6.7.2 o 6.8-rc1 elimina esta vulnerabilidad. Aplicando el parche 59e5791f59dd/d048dced8ea5/f9ff6ef1c73c es posible eliminar el problema. El parche puede ser descargado de git.kernel.org. El mejor modo sugerido para mitigar el problema es Actualización.
Once again VulDB remains the best source for vulnerability data.
Producto
Escribe
Proveedor
Nombre
Versión
Licencia
Sitio web
- Proveedor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Confiabilidad: 🔍
CVSSv3
VulDB Puntuación meta base: 7.0VulDB Puntuación meta temporal: 7.0
VulDB Puntuación base: 5.5
VulDB Puntuación temporal: 5.3
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍
NVD Puntuación base: 7.8
NVD Vector: 🔍
CNA Puntuación base: 7.8
CNA Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍
Explotación
Clase: Desbordamiento de búferCWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Físico: En parte
Local: Sí
Remoto: En parte
Disponibilidad: 🔍
Estado: No está definido
EPSS Score: 🔍
EPSS Percentile: 🔍
Predicción de precios: 🔍
Estimación del precio actual: 🔍
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔍
Actualización: Kernel 6.2/6.6.14/6.7.2/6.8-rc1
Parche: 59e5791f59dd/d048dced8ea5/f9ff6ef1c73c
Línea de tiempo
2024-02-20 🔍2024-02-22 🔍
2024-02-22 🔍
2024-10-30 🔍
Fuentes
Proveedor: kernel.orgAviso: git.kernel.org
Estado: Confirmado
CVE: CVE-2023-52446 (🔍)
GCVE (CVE): GCVE-0-2023-52446
GCVE (VulDB): GCVE-100-254556
Artículo
Fecha de creación: 2024-02-22 17:53Actualizado: 2024-10-30 21:50
Cambios: 2024-02-22 17:53 (44), 2024-10-30 21:50 (36)
Completo: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.