Udgivet er version 4.17 af CoreBoot-projektet, som udvikler et frit alternativ til proprietære firmware og BIOS. Projektets kode distribueres under GPLv2-licensen. 150 udviklere har deltaget i skabelsen af den nye version og har forberedt mere end 1300 ændringer.
Vigtige ændringer:
- Sårbarheden (CVE-2022-29264) er blevet rettet, hvilket manifesterer sig i versionerne af CoreBoot fra 4.13 til 4.16 og giver mulighed for at køre kode på SMM (System Management Mode) niveau på systemer med AP (Application Processor), hvilket er mere prioriteret (Ring -2) end hypervisorens tilstand og null beskyttelsesring, samt har ubegribelig adgang til al hukommelse. Problemet skyldes en forkert opkald af SMI-behandleren i smm_module_loader-modulet.
- Tilhørigheden til 12 bundkort er tilføjet, hvoraf 5 bruges på enheder med Chrome OS eller servere Google. Blandt de ikke-relaterede bundkort til Google:
- Clevo L140MU / L141MU / L142MU
- Dell Precision T1650
- HP Z220 CMT Workstation
- Star Labs LabTop Mk III (i7-8550u), LabTop Mk IV (i3-10110U, i7-10710U), Lite Mk III (N5000) og Lite Mk IV (N5030).
- Understøttelsen af bundkortene Google Deltan og Deltaur er blevet ophørt.
- En ny payload coreDOOM er blevet tilføjet, som gør det muligt at starte spillet DOOM fra Coreboot. Projektet har brugt koden doomgeneric, der er porteret til libpayload. Der anvendes en lineær frame buffer fra Coreboot til output, og WAD-filer med spilressourcer indlæses fra CBFS.
- Payload-komponenterne SeaBIOS 1.16.0 og iPXE 2022.1 er blevet opdateret.
- SeaGRUB-tilstand (GRUB2 oven på SeaBIOS) er blevet tilføjet, hvilket gør det muligt for GRUB2 at bruge de callback-opkald, der leveres af SeaBIOS, f.eks. til at tilgå udstyret, som GRUB2-payload ikke har adgang til.
- Beskyttelse mod SinkHole-angreb er blevet tilføjet, hvilket gør det muligt at køre kode på niveauet SMM (System Management Mode).
- En indbygget mulighed for at generere statiske sider af hukommelsestabeller fra assemblerfiler er blevet implementeret, uden behov for at kalde eksterne værktøjer.
- Optagelse af fejlinformation i CBMEMC-konsollen fra SMI-behandlerne er blevet tilladt, når DEBUG_SMI anvendes.
- Systemet for initialiseringsbehandlere af CBMEM er ændret; i stedet for de knyttede til faserne behandlerne *_CBMEM_INIT_HOOK, er der foreslået to behandlere: CBMEM_CREATION_HOOK (bruges i den indledende fase, der opretter cbmem) og CBMEM_READY_HOOK (bruges i alle faser, hvor cbmem allerede er oprettet).
- Understøttelse af PSB (Platform Secure Boot), der aktiveres af PSP (Platform Security Processor) for at verificere BIOS' integritet via digital signatur, er blevet tilføjet.
- En egen implementering af behandleren til fejlfindingsdata, der overføres fra FSP (FSP Debug Handler), er blevet tilføjet.
- Producent-specifikke TIS-funktioner (TPM Interface Specification) til læsning og skrivning direkte fra TPM (Trusted Platform Module) registre er blevet tilføjet — tis_vendor_read() og tis_vendor_write().
- Understøttelse af opfangning af dereferencer af nulpegepinde gennem debugregistre er blevet tilføjet.
- Identifikation af i2c-enheder er blevet implementeret, hvilket forenkler arbejdet med boards udstyret med touchpads eller berøringsskærme fra forskellige producenter.
- Muligheden for at gemme tidsdata i et format, der er egnet til generering af FlameGraph diagrammer, der tydeligt viser, hvilken tid der bruges på forskellige faser af opstart, er blevet tilføjet.
- Cbmem-værktøjet har fået en mulighed for at tilføje «timestamp» fra brugerens rum til cbmem-tabellen, hvilket gør det muligt at afspejle begivenheder i cbmem på faser, der udføres efter CoreBoot.
Det er også værd at nævne, at OSFF (Open-Source Firmware Foundation) har offentliggjort et åbent brev til Intel, hvori de foreslår at gøre firmware support packages (FSP) mere modulære og begynde at offentliggøre dokumentation relateret til initialisering af Intel SoC. Manglen på FSP-kode gør det væsentligt sværere at skabe åbne firmwares og hæmmer fremskridt af Coreboot, U-Boot og LinuxBoot projekter på Intel-udstyr. En lignende indsats tidligere har haft succes, og Intel åbnede koden for de firmware pakker, der blev anmodet om af fællesskabet for PSE (Programmable Services Engine).
Kilde: opennet.ru
