In the Linux kernel, the following vulnerability has been resolved:
RDMA/iwcm: Fix a use-after-free related to destroying CM IDs
iw_conn_req_handler() associates a new struct rdma_id_private (conn_id) with
an existing struct iw_cm_id (cm_id) as follows:
conn_id->cm_id.iw = cm_id;
cm_id->context = conn_id;
cm_id->cm_handler = cma_iw_handler;
rdma_destroy_id() frees both the cm_id and the struct rdma_id_private. Make
sure that cm_work_handler() does not trigger a use-after-free by only
freeing of the struct rdma_id_private after all pending work has finished.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/infiniband/core/iwcm.c"
],
"versions": [
{
"version": "59c68ac31e15",
"lessThan": "d91d253c87fd",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "7f25f296fc9b",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "94ee7ff99b87",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "557d035fe88d",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "dc8074b8901c",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "ff5bbbdee082",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "ee39384ee787",
"status": "affected",
"versionType": "git"
},
{
"version": "59c68ac31e15",
"lessThan": "aee2424246f9",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/infiniband/core/iwcm.c"
],
"versions": [
{
"version": "4.8",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.8",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.320",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.282",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.224",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.165",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.103",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.44",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.10.3",
"lessThanOrEqual": "6.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.11",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/557d035fe88d78dd51664f4dc0e1896c04c97cf6
git.kernel.org/stable/c/7f25f296fc9bd0435be14e89bf657cd615a23574
git.kernel.org/stable/c/94ee7ff99b87435ec63211f632918dc7f44dac79
git.kernel.org/stable/c/aee2424246f9f1dadc33faa78990c1e2eb7826e4
git.kernel.org/stable/c/d91d253c87fd1efece521ff2612078a35af673c6
git.kernel.org/stable/c/dc8074b8901caabb97c2d353abd6b4e7fa5a59a5
git.kernel.org/stable/c/ee39384ee787e86e9db4efb843818ef0ea9cb8ae
git.kernel.org/stable/c/ff5bbbdee08287d75d72e65b72a2b76d9637892a