В ядре Linux устранена следующая уязвимость:
RDMA/irdma: исправлена утечка стека ядра в irdma_create_user_ah().
struct irdma_create_ah_resp { // 8 байт, без заполнения
__u32 ах_ид; // смещение 0 - SET (uresp.ah_id = ah->sc_ah.ah_info.ah_idx)
__u8 rsvd[4]; // смещение 4 - НИКОГДА НЕ УСТАНАВЛИВАЕТСЯ <- УТЕЧКА
};
rsvd[4]: 4 байта стековой памяти утекли безоговорочно. Перед ib_respond_udata() назначается только ah_id.
Зарезервированные члены структуры не были обнулены.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah() struct irdma_create_ah_resp { // 8 bytes, no padding __u32 ah_id; // offset 0 - SET (uresp.ah_id = ah->sc_ah.ah_info.ah_idx) __u8 rsvd[4]; // offset 4 - NEVER SET <- LEAK }; rsvd[4]: 4 bytes of stack memory leaked unconditionally. Only ah_id is assigned before ib_respond_udata(). The reserved members of the structure were not zeroed.