mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
session: Fix buffer overflow in ipmi_get_session_info
Partial fix for CVE-2020-5208, see https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp The `ipmi_get_session_info` function does not properly check the response `data_len`, which is used as a copy size, allowing stack buffer overflow.
This commit is contained in:
parent
840fb1cbb4
commit
41d7026946
@ -309,8 +309,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
memcpy(&session_info, rsp->data, rsp->data_len);
|
memcpy(&session_info, rsp->data,
|
||||||
print_session_info(&session_info, rsp->data_len);
|
__min(rsp->data_len, sizeof(session_info)));
|
||||||
|
print_session_info(&session_info,
|
||||||
|
__min(rsp->data_len, sizeof(session_info)));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -341,8 +343,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(&session_info, rsp->data, rsp->data_len);
|
memcpy(&session_info, rsp->data,
|
||||||
print_session_info(&session_info, rsp->data_len);
|
__min(rsp->data_len, sizeof(session_info)));
|
||||||
|
print_session_info(&session_info,
|
||||||
|
__min(rsp->data_len, sizeof(session_info)));
|
||||||
|
|
||||||
} while (i <= session_info.session_slot_count);
|
} while (i <= session_info.session_slot_count);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user