CVE-2024-35902

Source
https://cve.org/CVERecord?id=CVE-2024-35902
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-35902.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-35902
Downstream
Related
Published
2024-05-19T08:34:55.692Z
Modified
2026-03-14T12:34:04.418141Z
Summary
net/rds: fix possible cp null dereference
Details

In the Linux kernel, the following vulnerability has been resolved:

net/rds: fix possible cp null dereference

cp might be null, calling cp->cp_conn would produce null dereference

[Simon Horman adds:]

Analysis:

  • cp is a parameter of __rdsrdmamap and is not reassigned.

  • The following call-sites pass a NULL cp argument to __rdsrdmamap()

    • rdsgetmr()
    • rdsgetmrfordest
  • Prior to the code above, the following assumes that cp may be NULL (which is indicative, but could itself be unnecessary)

    transprivate = rs->rstransport->getmr( sg, nents, rs, &mr->rkey, cp ? cp->cpconn : NULL, args->vec.addr, args->vec.bytes, needodp ? ODPZEROBASED : ODPNOT_NEEDED);

  • The code modified by this patch is guarded by ISERR(transprivate), where trans_private is assigned as per the previous point in this analysis.

    The only implementation of getmr that I could locate is rdsibgetmr() which can return an ERR_PTR if the conn (4th) argument is NULL.

  • ret is set to PTRERR(transprivate). rdsibgetmr can return ERRPTR(-ENODEV) if the conn (4th) argument is NULL. Thus ret may be -ENODEV in which case the code in question will execute.

Conclusion: * cp may be NULL at the point where this patch adds a check; this patch does seem to address a possible bug

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/35xxx/CVE-2024-35902.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
786854141057751bc08eb26f1b02e97c1631c8f4
Fixed
d275de8ea7be3a453629fddae41d4156762e814c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
997efea2bf3a4adb96c306b9ad6a91442237bf5b
Fixed
bcd46782e2ec3825d10c1552fcb674d491cc09f9
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
9dfc15a10dfd44f8ff7f27488651cb5be6af83c2
Fixed
cfb786b03b03c5ff38882bee38525eb9987e4d14
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b562ebe21ed9adcf42242797dd6cb75beef12bf0
Fixed
d49fac38479bfdaec52b3ea274d290c47a294029
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
998fd719e6d6468b930ac0c44552ea9ff8b07b80
Fixed
cbaac2e5488ed54833897264a5ffb2a341a9f196
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
2b505d05280739ce31d5708da840f42df827cb85
Fixed
92309bed3c5fbe2ccd4c45056efd42edbd06162d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c055fc00c07be1f0df7375ab0036cebd1106ed38
Fixed
6794090c742008c53b344b35b021d4a3093dc50a
Fixed
62fc3357e079a07a22465b9b6ef71bb6ea75ee4b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
907761307469adecb02461a14120e9a1812a5fb1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-35902.json"