Bug 914660 (CVE-2014-9645)

Summary: VUL-0: CVE-2014-9645: busybox: strips of / in module names that can lead to loading unwanted modules
Product: [Novell Products] SUSE Security Incidents Reporter: Marcus Meissner <meissner>
Component: IncidentsAssignee: Ihno Krumreich <ihno>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: jsegitz, vpereira
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Marcus Meissner 2015-01-24 15:04:20 UTC
+++ This bug was initially created as a clone of Bug #914423 +++

found/reported by Matthias Krause

We fixed this kind of autoloading for the network interfaces, but it has reappeared with the crypto api.

this bug tracks the busybox part.

https://plus.google.com/+MathiasKrause/posts/PqFCo4bfrWu
[...]
The story could end here as the bug is fixed with those commits in place, but there's "one more thing"... I did my tests with a busybox based system and stumbled over another issue while testing Kees' patches. A bug in the modprobe implementation of busybox allowed circumventing the newly introduced module prefix. If one would request a cipher named "/vfat" it would happily load the vfat.ko module instead of one matching "crypto-/vfat" as requested by the kernel. In fact, busybox's modprobe implementation strips all leading parts including the '/' from the first argument and tries to load that "basename(1)ed" module instead. As other kernel subsystems try to enforce module prefixes too, this bug isn't limited to the Crypto API but extents to filesystems ("mount –t /usbserial ..."), networking ("ifconfig /usbserial ..."), etc. However, those subsystems require some kind of privilege before they would try to load modules -- capability checks but not necessarily CAP_SYS_MODULE. Nonetheless the busybox bug allows to subvert the enforced subsystem module prefix and load arbitrary modules instead. Luckily that issue ([8]) got fixed pretty fast ([9]) and made it into the latest busybox release -- v1.23.0.

So, all in all, this initial remark on an otherwise unrelated LKML thread lead to an incomplete fix that, while being tested, uncovered its incompleteness and yet another bug in a completely different code base. Nice bug smashing, I would say ;)

[..]
[8] https://bugs.busybox.net/show_bug.cgi?id=7652
[9] http://git.busybox.net/busybox/commit/?id=4e314faa0a
Comment 1 Swamp Workflow Management 2015-01-24 23:00:14 UTC
bugbot adjusting priority
Comment 3 Johannes Segitz 2015-04-10 07:27:31 UTC
ping. SLE 12 is affected and should be fixed right away, older versions need to be evaluated please
Comment 4 Marcus Meissner 2015-06-09 07:29:56 UTC
I submitted a fix for SLES12. I also submitted for 13.1 and 13.2.

The code in SLE11 looks different and does not seem to do this. 

opensuse factory has a newer version.
Comment 6 Swamp Workflow Management 2015-06-18 13:05:26 UTC
openSUSE-SU-2015:1083-1: An update that fixes one vulnerability is now available.

Category: security (moderate)
Bug References: 914660
CVE References: CVE-2014-9645
Sources used:
openSUSE 13.2 (src):    busybox-1.22.1-3.1, busybox-static-1.22.1-3.1
openSUSE 13.1 (src):    busybox-1.20.2-5.3.1, busybox-static-1.20.2-5.3.1
Comment 7 Swamp Workflow Management 2015-08-28 10:11:00 UTC
SUSE-SU-2015:1445-1: An update that fixes one vulnerability is now available.

Category: security (moderate)
Bug References: 914660
CVE References: CVE-2014-9645
Sources used:
SUSE Linux Enterprise Server 12 (src):    busybox-1.21.1-3.3
SUSE Linux Enterprise Desktop 12 (src):    busybox-1.21.1-3.3
Comment 9 Swamp Workflow Management 2022-11-28 14:32:03 UTC
SUSE-SU-2022:4253-1: An update that fixes 28 vulnerabilities is now available.

Category: security (important)
Bug References: 1029961,1064976,1064978,1069412,1099260,1099263,1102912,1121426,1121428,1184522,1191514,1192869,914660,951562,970662,970663,991940
CVE References: CVE-2011-5325,CVE-2014-9645,CVE-2015-9261,CVE-2016-2147,CVE-2016-2148,CVE-2016-6301,CVE-2017-15873,CVE-2017-15874,CVE-2017-16544,CVE-2018-1000500,CVE-2018-1000517,CVE-2018-20679,CVE-2019-5747,CVE-2021-28831,CVE-2021-42373,CVE-2021-42374,CVE-2021-42375,CVE-2021-42376,CVE-2021-42377,CVE-2021-42378,CVE-2021-42379,CVE-2021-42380,CVE-2021-42381,CVE-2021-42382,CVE-2021-42383,CVE-2021-42384,CVE-2021-42385,CVE-2021-42386
JIRA References: 
Sources used:
SUSE OpenStack Cloud Crowbar 9 (src):    busybox-1.35.0-4.3.1
SUSE OpenStack Cloud 9 (src):    busybox-1.35.0-4.3.1
SUSE Linux Enterprise Server for SAP 12-SP4 (src):    busybox-1.35.0-4.3.1
SUSE Linux Enterprise Server 12-SP5 (src):    busybox-1.35.0-4.3.1
SUSE Linux Enterprise Server 12-SP4-LTSS (src):    busybox-1.35.0-4.3.1
SUSE Linux Enterprise Server 12-SP3-BCL (src):    busybox-1.35.0-4.3.1
SUSE Linux Enterprise Server 12-SP2-BCL (src):    busybox-1.35.0-4.3.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 10 Swamp Workflow Management 2022-11-28 20:23:27 UTC
SUSE-SU-2022:4260-1: An update that fixes two vulnerabilities is now available.

Category: security (important)
Bug References: 1099260,914660
CVE References: CVE-2014-9645,CVE-2018-1000517
JIRA References: 
Sources used:
openSUSE Leap 15.3 (src):    busybox-1.35.0-150000.4.14.1
SUSE Manager Server 4.1 (src):    busybox-1.35.0-150000.4.14.1
SUSE Manager Retail Branch Server 4.1 (src):    busybox-1.35.0-150000.4.14.1
SUSE Manager Proxy 4.1 (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server for SAP 15-SP2 (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server for SAP 15-SP1 (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server for SAP 15 (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server 15-SP2-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server 15-SP2-BCL (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server 15-SP1-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server 15-SP1-BCL (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Server 15-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise Module for Basesystem 15-SP3 (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-SP2-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-SP2-ESPOS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-SP1-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-SP1-ESPOS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-LTSS (src):    busybox-1.35.0-150000.4.14.1
SUSE Linux Enterprise High Performance Computing 15-ESPOS (src):    busybox-1.35.0-150000.4.14.1
SUSE Enterprise Storage 7 (src):    busybox-1.35.0-150000.4.14.1
SUSE Enterprise Storage 6 (src):    busybox-1.35.0-150000.4.14.1
SUSE CaaS Platform 4.0 (src):    busybox-1.35.0-150000.4.14.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.