summaryrefslogtreecommitdiff
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorPragaspathi Thilagaraj <tpragasp@codeaurora.org>2018-10-25 19:02:30 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-10-30 23:35:50 -0700
commit14c8902454ce8416475df3f7c99c150c9b258cd1 (patch)
treebcf0c84b5ad9a22c45699c2bde799770075c7f62 /net/unix/af_unix.c
parentedc4540a0e319b538c9d52c29269699c39647742 (diff)
qcacld-3.0: Fix OOB read in sme_rrm_process_beacon_report_req_ind
When beacon report request action frame is received, rrm_process_beacon_report_req() is called and num_channels value is calculated from the action frame directly from user. This value is assigned to pSmeBcnReportReq->channelList.numChannels and this num channels value along with the channel list is posted to sme for further processing. The sme function sme_rrm_process_beacon_report_req_ind() processes this sme message eWNI_SME_BEACON_REPORT_REQ_IND. In this function, the channels in channel list are looped through the received value pBeaconReq->channelList.numChannels and is copied to the destination pSmeRrmContext->channelList array from the pBeaconReq->channelList.channelNumber[] array. The maximum possible number of channels in channel list BeaconReq->channelList.channelNumber[] allocated statically in the definition of tSirChannelList is SIR_ESE_MAX_MEAS_IE_REQS (8). So when the pBeaconReq->channelList.numChannels, possible OOB read occurs. Validate the value of pBeaconReq->channelList.numChannels received from the action frame against the maximum supported number of channels in channel list SIR_ESE_MAX_MEAS_IE_REQS (8). Place this validation inside the function sme_rrm_process_beacon_report_req_ind() instead of validating it at rrm_process_beacon_report_req() so that it defends from other caller sme_set_ese_beacon_request() which is from user space command through IOCTL. Change-Id: I2074b04081328ceab7eeb29c33631a635e9d93c3 CRs-Fixed: 2335974
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions