Skip to content

Fix P0/P1 security bugs from x64 migration audit (session 2) #3

@anlaco

Description

@anlaco

Contexto

Resultados de la auditoría de seguridad/calidad de la migración x86-64 (rama rsc2-x64, 177 commits divergentes de master). Auditoría completa en docs/plans/auditoria-x64.md.

CRÍTICOS (P0) — Bloquean compilación o corrompen heap

  • P0-01: Heap overflow en runtime/simple-io.reds:2016-2017allocate length? cstr sin +1 + strcpy en vez de strncpy
  • P0-02: strupr no es POSIX — no existe en Linux (usar función propia to-upper)

ALTOS (P1) — Riesgo de corrupción de memoria o comportamiento indefinido

  • P1-01: OOB read en escape-url-chars (runtime/datatypes/string.reds:195-213)
  • P1-02: Buffer subdimensionado en binary/make-at con /dup (runtime/datatypes/binary.reds:1135)
  • P1-03: compare-call repunta offset de serie a memoria externa (runtime/datatypes/block.reds:1242-1245)
  • P1-04: Integer overflow en alloc-bytes (runtime/natives.reds:1584-1587)
  • P1-05: series/size * 2 overflow en expand-series (runtime/allocator.reds:788)
  • P1-06: c * width overflow en sort 64-bit (runtime/sort.reds:166,184,419-422)
  • P1-07: allocate/free nativos son stubs (system2/runtime/lib-natives.reds:14-24)
  • P1-08: Sin null-check tras malloc en todo system2/ (~52 archivos)
  • P1-09: Posible regresión en doble apóstrofe (runtime/lexer.reds:1486)

MEDIOS (P2)

13 items adicionales en docs/plans/auditoria-x64.md.

Verificación final

./rebol-core/rebol -qs red.r -r red.red
./red -t Linux-64 -c system2/tests/x64/hello.reds
./hello          # debe imprimir "hello, x64 linux"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions