libceph: Prevent potential null-ptr-deref in ceph_handle_auth_reply()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: libceph: Prevent potential null-ptr-deref in ceph_handle_auth_reply() If a message of type CEPH_MSG_AUTH_REPLY contains a zero value for both protocol and result, this is currently not treated as an error. In case of ac->negotiating == true and ac->protocol > 0, this leads to setting ac->protocol = 0 and ac->ops = NULL. Thereafter, the check for ac->protocol != protocol returns false, and init_protocol() is not called. Subsequently, ac->ops->handle_reply() is called, which leads to a null pointer dereference, because ac->ops is still NULL. This patch changes the check for ac->protocol != protocol to !ac->protocol, as this also includes the case when the protocol was set to zero in the message. This causes the message to be treated as containing a bad auth protocol.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 9ded62c302c0342efdb5eda3bf6e75720caad0df; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in f101271fcf55d7eacfefd610b51ec65f46ba8118; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 4b2738b93edad661178340239de657d876b73d3d; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 927e4bd5692f2a4901808822981fb2c8d4456548; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 016bc663657366d386993f63eb31072eb45a2b77; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 8f2be7285941a33a9f72579a23b96392f83c758e; From 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc · fixed in 5199c125d25aeae8615c4fc31652cc0fe624338e
- Linux Linux
2.6.34
- KernelLinux
From 2.6.34 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.140; From 6.7.0 · fixed in 6.12.86; From 6.13.0 · fixed in 6.18.27; From 6.19.0 · fixed in 7.0.4
References 7
git.kernel.org
- stable/c/9ded62c302c0342efdb5eda3bf6e75720caad0df
- stable/c/f101271fcf55d7eacfefd610b51ec65f46ba8118
- stable/c/4b2738b93edad661178340239de657d876b73d3d
- stable/c/927e4bd5692f2a4901808822981fb2c8d4456548
- stable/c/016bc663657366d386993f63eb31072eb45a2b77
- stable/c/8f2be7285941a33a9f72579a23b96392f83c758e
- stable/c/5199c125d25aeae8615c4fc31652cc0fe624338e