• Jessica Clarke's avatar
    ACPICA: Avoid subobject buffer overflow when validating RSDP signature · a3e525fe
    Jessica Clarke authored
    ACPICA commit 6bb72909c1e3d415aee214104a01bc9834b2d4ce
    
    Since the Signature member is accessed through an struct acpi_table_header, the
    pointer to it is only to a 4-char array, and so trying to read past the
    4th character, as will be done when it is an RSDP, reads beyond the
    bounds of the accessed member. On CHERI, and thus Arm's experimental
    Morello prototype architecture, pointers are represented as
    capabilities, which are unforgeable bounded pointers, providing
    always-on fine-grained spatial memory safety. By default, subobject
    bounds enforcement is not enabled, only bounds on allocations, but it is
    enabled in the cheri_BSD (a port of free_BSD) kernel as intra-object
    overflow attacks are common on operating system kernels, and so this
    overflow is detected there and traps.
    
    Link: https://github.com/acpica/acpica/commit/6bb72909Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    a3e525fe
tbprint.c 6.02 KB