Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added local check for CVE-2024-3094 #9458

Merged
merged 4 commits into from Apr 10, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
61 changes: 61 additions & 0 deletions code/cves/2024/CVE-2024-3094.yaml
@@ -0,0 +1,61 @@
id: CVE-2024-3094

info:
name: XZ - Embedded Malicious Code
author: pdteam
severity: critical
description: |
Malicious code was discovered in the upstream tarballs of xz, starting with version 5.6.0. Through a series of complex obfuscations, the liblzma build process extracts a prebuilt object file from a disguised test file existing in the source code, which is then used to modify specific functions in the liblzma code. This results in a modified liblzma library that can be used by any software linked against this library, intercepting and modifying the data interaction with this library.
reference:
- https://www.openwall.com/lists/oss-security/2024/03/29/4
- https://access.redhat.com/security/cve/CVE-2024-3094
- https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
- https://aws.amazon.com/security/security-bulletins/AWS-2024-002/
- https://bugzilla.redhat.com/show_bug.cgi?id=2272210
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2024-3094
cwe-id: CWE-506
epss-score: 0.00079
epss-percentile: 0.32887
cpe: cpe:2.3:a:tukaani:xz:5.6.0:*:*:*:*:*:*:*
metadata:
verified: true
vendor: tukaani
product: xz
tags: cve,cve2024,local,code,xz,backdoor

self-contained: true
code:
- engine:
- sh
- bash
source: |
# find path to liblzma used by sshd
path="$(ldd $(which sshd) | grep liblzma | grep -o '/[^ ]*')"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can avoid using ldd on untrusted binaries. ref: https://jmmv.dev/2023/07/ldd-untrusted-binaries.html


# does it even exist?
if [ "$path" == "" ]
then
echo probably not vulnerable
exit
fi

# check for function signature
if hexdump -ve '1/1 "%.2x"' "$path" | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps use this signature as a variable for better readability?

then
echo probably vulnerable
else
echo probably not vulnerable
fi

matchers:
- type: word
words:
- "probably vulnerable"

extractors:
- type: dsl
dsl:
- response