Bug 2255568 (CVE-2023-42465, mayhem) - CVE-2023-42465 sudo: Targeted Corruption of Register and Stack Variables
Summary: CVE-2023-42465 sudo: Targeted Corruption of Register and Stack Variables
Keywords:
Status: NEW
Alias: CVE-2023-42465, mayhem
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2255569
Blocks: 2255571
TreeView+ depends on / blocked
 
Reported: 2023-12-21 23:04 UTC by Nick Tait
Modified: 2024-02-14 00:29 UTC (History)
2 users (show)

Fixed In Version: sudo 1.9.15
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2024:0811 0 None None None 2024-02-14 00:29:35 UTC

Description Nick Tait 2023-12-21 23:04:14 UTC
From https://www.openwall.com/lists/oss-security/2023/12/21/9 a new CVE has been reserved against the sudo package.

'''
Our recent paper<https://arxiv.org/pdf/2309.02545.pdf> [AsiaCCS'24] describes a potential vulnerability where stack/register variables can be flipped via fault injection, affecting execution flow in security-sensitive code. There are mitigation strategies you may be interested in incorporating into your code:

 Take this vulnerable code, for example:

int auth = 0;

//password check code that sets auth variable

if(auth != 0)

return AUTH_SUCCESS;

else

return AUTH_FAILURE;

The idea is that any bit can be flipped in auth, and it will result in a mis-authentication. We prove this is a potential vulnerability in OpenSSH, OpenSSL, MySQL, and SUDO. To mitigate this, it is important to have tight logic such that a single-bit flip will not result in unintended execution. For example:

int auth = 0xbe405d1a;

// password check code that sets auth variable to 0x23ab9701 is successful

If(auth == 0x23ab9701)

               return AUTH_SUCCESS;

else

               return AUTH_FAILURE;

In this case, the auth variable must be corrupted into the exact authentication pattern, which is fairly improbable.



We issued CVE-2023-42465 for SUDO for this vulnerability.

Here is the patch implemented in v1.9.15.

https://github.com/sudo-project/sudo/commit/7873f8334c8d31031f8cfa83bd97ac6029309e4f

Paper link: https://arxiv.org/abs/2309.02545



Caner Tol
___________________________
Worcester Polytechnic Institute
https://vernamlab.org<https://vernamlab.org/>
'''

Comment 1 Nick Tait 2023-12-21 23:04:29 UTC
Created sudo tracking bugs for this issue:

Affects: fedora-all [bug 2255569]

Comment 8 errata-xmlrpc 2024-02-14 00:29:34 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.6 Extended Update Support
  Red Hat Enterprise Linux 8.8 Extended Update Support
  Red Hat Enterprise Linux 9.0 Extended Update Support
  Red Hat Enterprise Linux 9.2 Extended Update Support
  Red Hat Enterprise Linux 9
  Red Hat Enterprise Linux 8

Via RHSA-2024:0811 https://access.redhat.com/errata/RHSA-2024:0811


Note You need to log in before you can comment on or make changes to this bug.