Where
-Infinity
0

Vendor Risk Score

See how busybox compares to other vendors in security performance

View Risk Score →
Severity
1.9
Null Pointer Dereference
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L/E:P/RL:O/RC:C

A vulnerability has been found in BusyBox up to 1.30.1. This vulnerability affects unknown code of the file networking/wget.c of the component FEATUREWGETTIMEOUT Handler. Such manipulation of the argument -T leads to null pointer dereference. Local access is required to approach this attack. The exploit has been disclosed to the public and may be used. The name of the patch is 83a40bf7a93c8ac093d33ab452222dd5b9eb57ff. A patch should be applied to remediate this issue.

First published (updated )

Hi,

Anmol Bakshi brought the below with original Subject line saying "BusyBox dpkg applet: OS command injection -> root RCE (CWE-78)" to linux-distros on July 13. We quickly determined that no privilege boundary is crossed, so the coordinated disclosure request was withdrawn. However, we cannot just withdraw something sent to linux-distros (as long as it wasn't completely off-topic) without also bringing it to oss-security. In this case, we overlooked that until I started processing the linux-distros list statistics for July.

I include the linux-distros messages quoted below, sans the originally attached PDF file (which I didn't even look at).

Alexander

On Mon, Jul 13, 2026 at 08:44:40AM +0530, Anmol Bakshi wrote: Proposed coordinated public disclosure: 2026-07-27.

Summary -------

OS command injection in BusyBox's dpkg applet gives arbitrary command execution as the user running dpkg (root in typical use). Present through current BusyBox; confirmed on 1.36.1 and 1.37.0.git HEAD.

Vulnerability -------------

archival/dpkg.c (~line 1271): scriptpath = xasprintf("/var/lib/dpkg/info/%s.%s", packagename, scripttype); result = access(scriptpath, FOK) ? EXITSUCCESS : system(scriptpath);

The Package field from the .deb control file is passed unvalidated into the path handed to system() (/bin/sh -c). Shell metacharacters in the package name execute as command separators. The forward-slash filename restriction is bypassed with a base64-encoded payload the shell decodes at runtime, making injection unrestricted.

Impact ------

Arbitrary command execution as uid=0. Demonstrated: /etc/shadow exfiltration and an outbound network callback from a crafted .deb. CVSS 4.0: 9.3 (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H). CWE-78.

Affected scope --------------

Any build with CONFIGDPKG enabled that processes an attacker-supplied .deb. The applet is enabled in some distro builds (for example Debian's busybox deb config enables a minimal dpkg). Please assess your own configuration.

Suggested fix -------------

1. Replace system(scriptpath) with fork()/execl(scriptpath, scriptpath, (char)NULL) so no shell is invoked. 2. Validate package names against ^[a-z0-9][a-z0-9.+-]+$ to match GNU dpkg.

Coordination ------------

This is a coordinated disclosure. I am separately notifying Alpine Linux, OpenWrt, the Yocto Project, and Buildroot (none of which are on this list), all toward the same public date of 2026-07-27. BusyBox upstream has no working private security channel: the Bugzilla instance is offline and the security contact bounces. I sent a private report on 2026-04-21 with no response in ~3 months, so there is no upstream fix to coordinate. I have an open MITRE request from 2026-04-21 that has not been actioned; I would prefer a CVE ID be assigned via a CNA on this list. Full report and a self-contained reproduction script are attached. Please confirm receipt.

Regards, Anmol Bakshi https://anmolbakshi.com On Mon, Jul 13, 2026 at 08:32:59AM +0200, Solar Designer wrote: Hello Anmol,

Thank you for notifying linux-distros.

On Mon, Jul 13, 2026 at 08:44:40AM +0530, Anmol Bakshi wrote: Proposed coordinated public disclosure: 2026-07-27. I ack that this is a valid public disclosure date per this list's policy, but I note it's the latest possible - so please note that no extension beyond this date will be possible.

Please make sure you post specifically to the public oss-security list when making the issue public. Full report and a self-contained reproduction script are attached. Unfortunately, you sent these pre-encrypted to the list key, whereas the list only re-encrypts non-pre-encrypted attachments of full PGP/MIME messages as commonly produced by MUAs with PGP support. In fact, I think these attachments ended up double-encrypted when you sent the message, and only the outer layer got processed by the list software. So they arrived to list subscribers still encrypted to the list key as you prepared them, rather than re-encrypted to their keys, and thus are unreadable to them.

I suggest that you selectively send these to list members who ask, or you may resend the reproduction script as a simple attachment (don't pre-encrypt, but let the MIME message be encrypted) or in message body.

I doubt the PDF is worth resending, but I don't know what's in it. For oss-security, the message size limit (including MIME overhead) is 1 MB, so this large PDF wouldn't be suitable for posting to there anyway. Please confirm receipt. Confirmed as above. OS command injection in BusyBox's dpkg applet gives arbitrary command execution as the user running dpkg (root in typical use). I guess package installation via dpkg would invoke scripts found in the package as part of intended functionality, so there would be no additional risk from your finding - but perhaps there are query-only uses where your finding matters? You could want to elaborate on that.

I am not familiar with BusyBox's dpkg.

Replying in plaintext as I didn't bother searching for your public key, but I limited the quoting. (And this gets encrypted to list subscribers anyway.)

Alexander On Mon, Jul 13, 2026 at 12:57:10PM +0530, Anmol Bakshi wrote: Hi Alexander,

Thanks again for the detailed feedback - you're right, and I'm withdrawing this.

To close the loop on the impact question: runpackagescriptordie() is only reached during install / unpack / configure / remove, i.e. exactly the operations where a package's maintainer scripts are expected to run as root. BusyBox dpkg's only read-only operation (-l) doesn't touch that path. So the injected command runs with the same privilege a normal postinst already would; the unvalidated package name doesn't cross a boundary that an ordinary malicious maintainer script wouldn't.

I also considered the "trojan a real package, keep the same name to slip past review" angle, but it doesn't change that: dpkg -i on a local file does no signature or integrity check, so there's no verification for the name injection to bypass, and the operator has already chosen to run untrusted code as root regardless of what the scripts contain. No privilege boundary is crossed there either.

So I'm standing down the coordinated-disclosure request and won't pursue a CVE on this basis - no need for anyone on the list to hold anything for 2026-07-27. The one thing I still think is worthwhile is a hardening change to BusyBox (validate the package name as GNU dpkg does, and don't pass the path to a shell); I'll take that to BusyBox directly as a patch, outside this list.

Thanks for the time, and sorry for the noise.

Regards, सादर, Anmol Bakshi On Sat, Aug 22, 2026 at 09:46:57PM +0200, Solar Designer wrote: Hi Anmol,

I'm sorry everyone seems to have dropped the ball on this after your last message. I understand you may have thought you could simply withdraw a report, but others on linux-distros should have realized that's not the case.

On Mon, Jul 13, 2026 at 12:57:10PM +0530, Anmol Bakshi wrote: Thanks again for the detailed feedback - you're right, and I'm withdrawing this. Thanks, but currently you cannot just withdraw a report to linux-distros without bringing it to oss-security - all while acknowledging it was determined to be a non-security issue. We need this for transparency. If the ratio of non-security reports becomes much larger, we'll have to reconsider this approach - and announce that publicly - but for now that's the approach we use and the oss-security community may expect.

Are you going to bring this to oss-security ASAP? If not, I will.

Alexander

Severity
7.8
Path Traversal
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

An issue in the CPIO command of Busybox v1.33.2 allows attackers to execute a directory traversal.

First published (updated )
Severity
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Last updated 14 August 2024

1 / 3
Source: Ubuntu
First published (updated )
Severity
7.5
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

A stack overflow in the evaluate() function (editors/awk.c) of BusyBox commit 371fe9 allows attackers to cause a Denial of Service (DoS) via supplying a crafted AWK script.

First published (updated )
Severity
7.5
Use After Free
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L

A use-after-free in the awksub() function (editors/awk.c) of Busybox v1.38.0 allows attackers to cause a Denial of Service (DoS) via supplying a crafted AWK script.

First published (updated )
Severity
7.5
AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

A heap overflow in the ifsbreakup() function (shell/ash.c) of Busybox v1.38.0 allows attackers to cause a Denial of Service (DoS) via supplying a crafted input.

First published (updated )
Severity
7.5
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

A heap overflow in the evalcommand() function (shell/ash.c) of Busybox v1.38.0 allows attackers to cause a Denial of Service (DoS) via supplying a crafted input.

First published (updated )
Severity
7.2
Buffer Overflow
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

BusyBox before commit 42202bf contains a heap buffer overflow vulnerability in the DHCPv6 client (udhcpc6) DNSSERVERS option handler in networking/udhcp/d6dhcpc.c that allows network-adjacent attackers to trigger memory corruption by sending a crafted DHCPv6 response with a malformed D6OPTDNSSERVERS option. Attackers can exploit incorrect heap buffer allocation calculations in the optiontoenv() function to cause denial of service or achieve arbitrary code execution on embedded systems without heap hardening.

First published (updated )
Severity
7
EPSS
0.01%
AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

A flaw was found in BusyBox. Incomplete path sanitization in its archive extraction utilities allows an attacker to craft malicious archives that when extracted, and under specific conditions, may write to files outside the intended directory. This can lead to arbitrary file overwrite, potentially enabling code execution through the modification of sensitive system files.

1 / 2
Source: MITRE
First published (updated )
Severity
7
EPSS
0.01%
Path Traversal
AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

A flaw was found in BusyBox. This vulnerability allows an attacker to modify files outside of the intended extraction directory by crafting a malicious tar archive containing unvalidated hardlink or symlink entries. If the tar archive is extracted with elevated privileges, this flaw can lead to privilege escalation, enabling an attacker to gain unauthorized access to critical system files.

1 / 2
Source: MITRE
First published (updated )
Severity
7.8
Use After Free
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

A use-after-free in Busybox 1.35-x's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the copyvar function.

First published (updated )
Severity
9.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

BusyBox wget thru 1.3.7 accepted raw CR (0x0D)/LF (0x0A) and other C0 control bytes in the HTTP request-target (path/query), allowing the request line to be split and attacker-controlled headers to be injected. To preserve the HTTP/1.1 request-line shape METHOD SP request-target SP HTTP/1.1, a raw space (0x20) in the request-target must also be rejected (clients should use %20).

First published (updated )
Severity
3.3
EPSS
0.02%
AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N

In tar in BusyBox through 1.37.0, a TAR archive can have filenames hidden from a listing through the use of terminal escape sequences.

First published (updated )
Severity
7
Buffer Overflow

BusyBox before commit 42202bf contains a heap buffer overflow vulnerability in the DHCPv6 client (udhcpc6) DNSSERVERS option handler in networking/udhcp/d6dhcpc.c that allows network-adjacent attackers to trigger memory corruption by sending a crafted DHCPv6 response with a malformed D6OPTDNSSERVERS option. Attackers can exploit incorrect heap buffer allocation calculations in the optiontoenv() function to cause denial of service or achieve arbitrary code execution on embedded systems without heap hardening.

First published (updated )
Severity
7.5
Path Traversal
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

A path traversal vulnerability was found in Busybox implementation of tar. tar will extract a symlink that points outside of the current working directory and then follow that symlink when extracting other files. This allows for a directory traversal attack when extracting untrusted tarballs.

Reproducer:

http://git.busybox.net/busybox/commit/?id=a116552869db5e7793ae10968eb3c962c69b3d8c

CVE assignment:

http://seclists.org/oss-sec/2015/q4/121

1 / 3
Source: Red Hat
First published (updated )
Severity
5.5
Input Validation
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Last updated 25 August 2025

1 / 3
Source: Ubuntu
First published (updated )
Severity
7.5
Integer Overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Integer overflow in the DHCP client (udhcpc) in BusyBox before 1.25.0 allows remote attackers to cause a denial of service (crash) via a malformed RFC1035-encoded domain name, which triggers an out-of-bounds heap write.

1 / 2
Source: Launchpad
First published (updated )
Severity
5.5
Integer Overflow
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Last updated 25 August 2025

1 / 2
Source: Ubuntu
First published (updated )
Severity
9.8
Buffer Overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Heap-based buffer overflow in the DHCP client (udhcpc) in BusyBox before 1.25.0 allows remote attackers to have unspecified impact via vectors involving OPTION6RD parsing.

1 / 2
Source: Launchpad
First published (updated )
Severity
8.8
Code Injection
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

In the addmatch function in libbb/lineedit.c in BusyBox through 1.27.2, the tab autocomplete feature of the shell, used to get a list of filenames in a directory, does not sanitize filenames and results in executing any escape sequence in the terminal. This could potentially result in code execution, arbitrary file writes, or other attacks.

1 / 2
Source: Launchpad
First published (updated )
Severity
5.5
Use After Free
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

A use-after-free vulnerability was discovered in BusyBox v.1.36.1 via a crafted awk pattern in the awk.c copyvar function.

1 / 2
First published (updated )
Severity
5.5
Use After Free
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

A use-after-free vulnerability in BusyBox v.1.36.1 allows attackers to cause a denial of service via a crafted awk pattern in the awk.c evaluate function.

1 / 2
First published (updated )
Severity
5.5
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

A heap-buffer-overflow was discovered in BusyBox v.1.36.1 in the nexttoken function at awk.c:1159.

First published (updated )
Severity
5.5
Use After Free
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

A use-after-free vulnerability was discovered in xasprintf function in xfuncsprintf.c:344 in BusyBox v.1.36.1.

1 / 2
First published (updated )
Severity
7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

decompressgunzip.c in BusyBox through 1.32.1 mishandles the error bit on the huftbuild result pointer, with a resultant invalid free or segmentation fault, via malformed gzip data.

1 / 2
First published (updated )
Severity
2.5
AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L

In netstat in BusyBox through 1.37.0, local users can launch of network application with an argv[0] containing an ANSI terminal escape sequence, leading to a denial of service (terminal locked up) when netstat is used by a victim.

First published (updated )
Severity
7.8
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

The busybox NTP implementation doesn't check the NTP mode of packets received on the server port and responds to any packet with the right size. This includes responses from another NTP server. An attacker can send a packet with a spoofed source address in order to create an infinite loop of responses between two busybox NTP servers. Adding more packets to the loop increases the traffic between the servers until one of them has a fully loaded CPU and/or network.

It seems this bug was actually inherited from openntpd, on which the busybox implementation was based on. In openntpd it was fixed in:

https://github.com/openntpd-portable/openntpd-openbsd/commit/28a2f904aafbf4c209fe6fa04ffb9308740fd78a

Busybox upstream patch:

https://git.busybox.net/busybox/commit/?id=150dc7a2b483b8338a3e185c478b4b23ee884e71

1 / 2
Source: Red Hat
First published (updated )
Severity
10
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Busybox 1.31.1 - Multiple Known Vulnerabilities.This issue affects BLU-IC2: through 1.19.5; BLU-IC4: through 1.19.5.

First published (updated )
Severity
8.8
CSRF
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Busybox 1.31.1 - Multiple Known Vulnerabilities.This issue affects BLU-IC2: through 1.19.5; BLU-IC4: through 1.19.5.

First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203