Fix bash 2.05b detection
[shellsnippets/shellsnippets.git] / README.md
1 bashcheck
2 =========
3
4 Test script for Shellshock and related vulnerabilities
5
6 background
7 ==========
8
9 The Bash vulnerability that is now known as Shellshock had an incomplete
10 fix at first. There are currently 6 public vulnerabilities.
11
12 shellshock and heartbleed
13 =========================
14
15 I wrote down some general thoughts about recent events and security
16 in free software:
17 * https://blog.hboeck.de/archives/857-How-to-stop-Bleeding-Hearts-and-Shocking-Shells.html
18
19 interpreting results
20 ====================
21
22 There's been some confusion how to interpret the results of this script
23 and some people got scared by warnings on systems that didn't have any
24 exploitable bugs.
25
26 The most important fix you need is one of the prefix/suffix-patches. Upstream
27 patch number for this is bash042-050 and bash043-027 (patches for older
28 versions also available). This patch was originally created by RedHat
29 developer Florian Weimer and a modified version was applied by Bash
30 developer Chet Ramey.
31
32 Once you have this prefix patch all other vulnerabilities are not exploitable.
33 They are still bugs that should be fixed, but there is nothing to worry
34 about.
35
36
37 usage
38 =====
39
40 Just run script:
41  `./bashcheck`
42
43 CVE-2014-6271
44 =============
45
46 The original vulnerability.
47
48 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
49
50 CVE-2014-7169
51 =============
52
53 Further parser error, found by Tavis Ormandy (taviso).
54
55 * https://twitter.com/taviso/status/514887394294652929
56 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
57
58 CVE-2014-7186
59 =============
60
61 Out of bound memory read error in redir_stack.
62
63 * http://seclists.org/oss-sec/2014/q3/712
64 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186
65
66 CVE-2014-7187
67 =============
68
69 Off-by-one error in nested loops.
70 (check only works when Bash is built with -fsanitize=address)
71
72 * http://seclists.org/oss-sec/2014/q3/712
73 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187
74
75 CVE-2014-6277
76 =============
77
78 Uninitialized Memory use in make_redirect(), found by
79 Michal Zalewski (lcamtuf).
80
81 * http://lcamtuf.blogspot.de/2014/10/bash-bug-how-we-finally-cracked.html
82 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6277
83
84 CVE-2014-6278
85 =============
86
87 Another parser bug, analysis still incomplete, also found
88 by Michal Zalewski (lcamtuf).
89
90 * http://lcamtuf.blogspot.de/2014/10/bash-bug-how-we-finally-cracked.html
91 * https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6278
92
93 Patch recommendation
94 ====================
95
96 Latest upstream patches (4.3 since patchlevel 030, 4.2 since patchlevel 051)
97 include all fixes.
98
99 They also add prefixing to variable functions (a variant of Florian
100 Weimer's patch). This protects from further function parser bugs and makes
101 them likely not exploitable.
102
103 My current recommendation: Use latest upstream patches.