Stéphane Lesimple
263ef65fec
bump to v0.32
2018-01-20 12:49:12 +01:00
Stéphane Lesimple
a1bd233c49
revert to a simpler check_vmlinux()
2018-01-20 12:26:26 +01:00
Stéphane Lesimple
de6590cd09
cache is_cpu_vulnerable result for performance
2018-01-20 12:24:23 +01:00
Stéphane Lesimple
56d4f82484
is_cpu_vulnerable: implement check for multi-arm systems
2018-01-20 12:24:23 +01:00
Stéphane Lesimple
7fa2d6347b
check_vmlinux: when readelf doesn't work, try harder with another way
2018-01-20 12:23:55 +01:00
Stéphane Lesimple
3be5e90481
be smarter to find a usable echo command
2018-01-20 12:23:55 +01:00
Stéphane Lesimple
995620a682
add pine64 vmlinuz location
2018-01-20 12:23:19 +01:00
Stéphane Lesimple
193e0d8d08
arm: cosmetic fix for name and handle aarch64
2018-01-20 12:22:48 +01:00
Stéphane Lesimple
72ef94ab3d
ARM: display a friendly name instead of empty string
2018-01-20 12:22:48 +01:00
Harald Hoyer
ccc0453df7
search in /lib/modules/$(uname -r) for vmlinuz, config, System.map
...
On Fedora machines /lib/modules/$(uname -r) has all the files.
2018-01-20 11:19:34 +01:00
Stéphane Lesimple
14ca49a042
Atom N270: implement another variation
2018-01-19 18:47:38 +01:00
Stéphane Lesimple
db357b8e25
CoreOS: remove ephemeral install of a non-used package
2018-01-18 10:17:25 +01:00
Stéphane Lesimple
42a57dd980
add kern.log as another backend of dmesg output
2018-01-17 17:17:39 +01:00
Stéphane Lesimple
5ab95f3656
fix(atom): don't use a pcre regex, only an extended one
2018-01-17 12:01:13 +01:00
Stéphane Lesimple
5b6e39916d
fix(atom): properly detect Nxxx Atom series
2018-01-17 11:07:47 +01:00
Willy Sudiarto Raharjo
556951d5f0
Add Support for Slackware.
...
Signed-off-by: Willy Sudiarto Raharjo <willysr@gmail.com>
2018-01-16 11:55:03 +01:00
Stéphane Lesimple
7a88aec95f
Implement CoreOS compatibility mode ( #84 )
...
* Add special CoreOS compatibility mode
* CoreOS: refuse --coreos if we're not under CoreOS
* CoreOS: warn if launched without --coreos option
* is_coreos: make stderr silent
* CoreOS: tiny adjustments
2018-01-16 10:33:01 +01:00
Stéphane Lesimple
bd18323d79
bump to v0.31 to reflect changes
2018-01-14 22:34:09 +01:00
Stéphane Lesimple
b89d67dd15
meltdown: detecting Xen PV, reporting as not vulnerable
2018-01-14 22:31:21 +01:00
Stéphane Lesimple
704e54019a
is_cpu_vulnerable: add check for old Atoms
2018-01-14 21:32:56 +01:00
Stéphane Lesimple
d96093171a
verbose: add PCID check for performance impact of PTI
2018-01-14 17:18:34 +01:00
Stéphane Lesimple
dcc4488340
Merge pull request #80 from speed47/cpuid_spec_ctrl
...
v0.30, cpuid spec ctrl and other enhancements
2018-01-14 16:48:02 +01:00
Stéphane Lesimple
32e3fe6c07
bump to v0.30 to reflect changes
2018-01-14 16:45:59 +01:00
Stéphane Lesimple
71213c11b3
ibrs: check for spec_ctrl_ibrs in cpuinfo
2018-01-14 16:36:51 +01:00
Andreas Rammhold
2964c4ab44
add support for NixOS kernel
...
this removes the need to specify the kernel version manually on NixOS
2018-01-14 16:18:29 +01:00
Stéphane Lesimple
749f432d32
also check for spec_ctrl flag in cpuinfo
2018-01-14 15:47:51 +01:00
Stéphane Lesimple
a422b53d7c
also check for cpuinfo flag
2018-01-14 15:47:51 +01:00
Stéphane Lesimple
c483a2cf60
check spec_ctrl support using cpuid
2018-01-14 15:47:51 +01:00
Stéphane Lesimple
dead0054a4
fix: proper detail msg in vuln status
2018-01-14 15:47:22 +01:00
Stéphane Lesimple
e5e4851d72
proper return codes regardless of the batch mode
2018-01-14 14:24:31 +01:00
Stéphane Lesimple
7f92717a2c
add info about accuracy when missing kernel files
2018-01-13 13:59:17 +01:00
Stéphane Lesimple
b47d505689
AMD now vuln to variant2 (as per their stmt)
2018-01-13 13:35:31 +01:00
Corey Hickey
4a2d051285
minor is_cpu_vulnerable() changes ( #71 )
...
* correct is_cpu_vulnerable() comment
As far as I can tell, the function and usage are correct for the comment
to be inverted.
Add a clarifying note as to why the value choice makes sense.
* exit on invalid varient
If this happens, it's a bug in the script. None of the calling code
checks for status 255, so don't let a scripting bug cause a false
negative.
* no need to set vulnerable CPUs
According to comment above this code:
'by default, everything is vulnerable, we work in a "whitelist" logic here.'
2018-01-13 13:16:37 +01:00
Sylvestre Ledru
f3551b9734
Only show the name of the script, not the full path ( #72 )
2018-01-13 13:14:19 +01:00
Sylvestre Ledru
45b98e125f
fix some typos ( #73 )
2018-01-13 13:13:40 +01:00
Stéphane Lesimple
dce917bfbb
add --version, bump to v0.28
2018-01-12 19:10:44 +01:00
Stéphane Lesimple
8f18f53aba
add cpu model in output
2018-01-12 19:08:12 +01:00
M. Willis Monroe
8bd093173d
Fixed a few spelling errors ( #60 )
2018-01-12 11:46:36 +01:00
Stéphane Lesimple
bfe5a3b840
add some debug
2018-01-12 10:53:19 +01:00
Stéphane Lesimple
6a0242eea3
bump to v0.27
2018-01-11 15:36:41 +01:00
Stéphane Lesimple
bc4e39038a
fix(opcodes): fix regression introduced in previous commit
...
We were saying unknown instead of vulnerable when the count of lfence opcodes was low
This was not impacting batch mode or the final decision, just the human-readable output of the script.
2018-01-11 15:35:57 +01:00
Stéphane Lesimple
62f8ed6f61
adding support for new /sys interface ( #55 )
...
* adding support for new /sys interface
* fix(objdump): prefer -d instead of -D, some kernels crash objdump otherwise
2018-01-11 12:23:16 +01:00
Tobias Rüetschi
52a8f78885
send warning to stderr. ( #53 )
...
With --batch json there must not be any other output on stdout, so redirect warnings to stderr will show the warning on the console and only the json output is on stdout.
2018-01-11 09:55:43 +01:00
Stéphane Lesimple
a09a5ba38f
bump to v0.25 to reflect changes
2018-01-11 09:08:29 +01:00
Abdoul Bah
5a7d8d7edf
Produce JSON output formatted for Puppet, Ansible, Chef... ( #50 )
...
Produce JSON output formatted for Puppet, Ansible, Chef...
2018-01-11 09:04:13 +01:00
Stéphane Lesimple
49fdc6c449
Merge pull request #51 from cowanml/file_read_check_fixup
...
fixed file read test
2018-01-10 21:39:09 +01:00
Matt Cowan
af3de2a862
fixed file read test
2018-01-10 15:17:14 -05:00
Stéphane Lesimple
c6e1b0ac8a
feat(kernel): add support for LZ4 decompression
2018-01-10 20:10:57 +01:00
Stéphane Lesimple
eb0ebef5a8
fix(opensuse): add specific location for ibrs_enabled file
2018-01-10 17:40:33 +01:00
Stéphane Lesimple
a658de2f01
fix(kernel): fix detection for separate /boot partitions
2018-01-10 16:27:16 +01:00
Stéphane Lesimple
8ed1f5e3af
feat(kernel): check the BOOT_IMAGE info from cmdline before trying the default names
2018-01-10 15:46:29 +01:00
Stéphane Lesimple
ffc542eb82
bump to v0.23 to reflect changes
2018-01-10 15:25:55 +01:00
Stéphane Lesimple
74bc7ba637
add --variant to specify what check we want to run
2018-01-10 15:22:30 +01:00
Marcus Downing
59fe8c2ad8
Error on unknown batch format
2018-01-10 13:57:10 +00:00
Marcus Downing
7c11d07865
Stray tab
2018-01-10 11:59:33 +00:00
Marcus Downing
7c5cfbb8c3
batch nrpe
2018-01-10 11:57:45 +00:00
Marcus Downing
381038eceb
NRPE mode
2018-01-10 11:18:45 +00:00
Stéphane Lesimple
d6e4aa43f0
Merge pull request #37 from deufrai/better-dmesg-support
...
Improve PTI detection
2018-01-09 19:52:45 +01:00
Stéphane Lesimple
e5e09384f0
typofix
2018-01-09 18:54:35 +01:00
Stéphane Lesimple
7222367f04
add disclaimer and bump to 0.21
2018-01-09 18:52:21 +01:00
Stéphane Lesimple
ab512687cf
Merge pull request #38 from Alkorin/fixARM
...
Fix ARM checks
2018-01-09 18:47:25 +01:00
Alkorin
335439dee0
Fix small typo in error message
2018-01-09 18:44:15 +01:00
Alkorin
45297b6f7d
Fix ARM checks
2018-01-09 18:41:48 +01:00
Frederic CORNU
a7b14306d5
Improve PTI detection even more
...
when PTI detection relies on dmesg, dmesg output is checked first
then /var/log/dmesg if dmesg output lacks boot time messages
2018-01-09 18:26:32 +01:00
Frederic CORNU
608952ff71
Improve PTI detection
...
In case of a busy or misconfigured server, kernel message buffer loop
can be filled with messages broadcasted later than boot time. So dmesg
command wont return boot time messages.
Grepping /var/log/dmesg fixes it and this log file location semms pretty
standard across many common distros
2018-01-09 18:17:39 +01:00
Stéphane Lesimple
1c3d349667
Merge pull request #31 from Feandil/batch
...
Add a "batch" and "verbose" mode
2018-01-09 18:12:39 +01:00
Stéphane Lesimple
b93b13263d
fix(pti): remove escapes since we use grep -E now
2018-01-09 16:01:44 +01:00
Vincent Brillault
ad342cab06
Introduce "verbose" and "batch" modes
...
Rewrite the way the output is processed:
- Define verbosity level (currently warn, info (default) & verbose)
- Add a batch mode, for simple machine parsing
2018-01-09 15:58:13 +01:00
Vincent Brillault
5fd85e288b
No-color: interpret string (-e) to be able to mach \x1B
2018-01-09 15:57:10 +01:00
Stéphane Lesimple
322f4efc8f
fix broken logic of 68961f9
, increment version to 0.20
2018-01-09 14:55:12 +01:00
Vincent Brillault
b6bfcdbd45
Move configuration at the beginning of the script
2018-01-09 14:18:02 +01:00
Stéphane Lesimple
68961f98c2
adding known non-vulnerable ARM chips
2018-01-09 13:11:48 +01:00
Stéphane Lesimple
f0f2ea9b11
v0.19: introduce --no-color
2018-01-09 10:32:51 +01:00
Stéphane Lesimple
6f1bdba1d9
bump to v0.18 to reflect changes
2018-01-09 09:21:42 +01:00
Stéphane Lesimple
7b05105a54
Merge pull request #25 from Feandil/proc_config
...
When using /proc/config.gz, indicate it more clearly
2018-01-09 09:19:36 +01:00
Stéphane Lesimple
8aed2d4086
Merge pull request #26 from Feandil/proc_kallsym
...
Use /proc/kallsyms to get symbols, if available
2018-01-09 09:17:18 +01:00
Vincent Brillault
f4140a992a
Use /proc/kallsyms to get symbols, if available
2018-01-09 08:58:09 +01:00
Vincent Brillault
2c51b00a90
When using /proc/config.gz, indicate it more clearly
2018-01-09 08:54:07 +01:00
Stéphane Lesimple
2d94514c07
adding mention of heuristic for variant 1 check
2018-01-09 08:43:52 +01:00
Stéphane Lesimple
0e8f97afbc
Merge pull request #24 from angus-p/Remove-extra-space
...
remove superfluous space from test line 315
2018-01-09 08:34:10 +01:00
angus-p
cc0b325383
remove superfluous space from test line 315
...
Extra space was causing non-existent variable to be tested resulting in 'YES' if running in live mode and IBRS compiled in
2018-01-09 03:47:25 +00:00
Matthew Radcliffe
4454f03136
Increases tmp directory uniqueness to 6 characters to support Slackware
2018-01-08 22:28:55 -05:00
Stéphane Lesimple
949f316f89
missed version bump + README typofix
2018-01-08 23:15:42 +01:00
Stéphane Lesimple
d73a24cb5b
implement offline mode and help
2018-01-08 23:09:17 +01:00
Grim Kriegor
2d33a4369e
Linux-libre support
2018-01-08 21:56:11 +00:00
Stéphane Lesimple
8d4d295309
bump to v0.16 to reflect changes
2018-01-08 17:48:20 +01:00
Stéphane Lesimple
1ff437edbb
Merge pull request #16 from Alkorin/fixes
...
Fixes
2018-01-08 17:45:59 +01:00
Stéphane Lesimple
34656827f5
detect retpoline-compliant compiler from latest LKML patches
2018-01-08 17:32:19 +01:00
Alkorin
8c8a8d35fd
Detect if 'readelf' is present
2018-01-08 16:52:09 +01:00
Alkorin
debd10b517
Detect if 'strings' is present
2018-01-08 16:51:20 +01:00
Alkorin
21f81ff5c9
Detect if uncompress binaries are present
2018-01-08 16:51:14 +01:00
Stéphane Lesimple
206e4b7fbc
add detection of retpoline-aware compiler
2018-01-08 16:28:00 +01:00
Alkorin
1a14483c98
Use 'readelf' instead of 'file' to detect kernel
2018-01-08 15:56:19 +01:00
Alkorin
26564206db
Do not execute checks if we already found that PTI is enabled
2018-01-08 15:56:19 +01:00
Stéphane Lesimple
207168e097
detect if the used compiler supports retpoline (WIP)
2018-01-08 15:45:09 +01:00
Sebastian Wiesinger
c88acdd31d
Remove superfluous 'YES' output when checking cpuinfo
2018-01-08 14:50:59 +01:00
Sebastian Wiesinger
124ce8e27a
Recognize 'kaiser' flag in /proc/cpuinfo
2018-01-08 14:38:43 +01:00
Vincent Brillault
a792348928
RedHat uses a different configuration name
2018-01-08 12:59:12 +01:00
Vincent Brillault
66f7708095
Refactor RedHat support:
...
- Isolate file check to different elif (allowing to add more)
- Do the PTI debugfs check first (faster and supposed to be dynamic)
- If pti_enable is 0, don't trust dmesg (supposed to be dynamic)
2018-01-08 12:59:03 +01:00
Vincent Brillault
34ef5ef21b
Delay umount (for RedHat access to pti_enable)
2018-01-08 12:58:22 +01:00
Stéphane Lesimple
edbdf0da1f
push the lfence opcodes threshold to 70
2018-01-08 12:49:23 +01:00
Alkorin
47c30babf1
Avoid 'cat: /sys/kernel/debug/x86/pti_enabled: Permission denied'
2018-01-08 12:41:28 +01:00
Stéphane Lesimple
ef7a5c4cf6
adding uname -v to get potential additional vendor information
2018-01-08 12:22:56 +01:00
Vincent Brillault
b7197d6f54
Fix debugfs mount check
2018-01-08 12:15:51 +01:00
Stéphane Lesimple
c792fa35bf
add kernel version information to the output
2018-01-08 12:14:12 +01:00
Stéphane Lesimple
d1498fe03f
Merge pull request #5 from fccagou/centos
...
fix(centos): check according to redhat patch.
2018-01-08 12:10:07 +01:00
Stéphane Lesimple
12bdd0e412
root check is now more visible
2018-01-08 11:31:19 +01:00
fccagou
0f50e04dab
fix(centos): check according to redhat patch. https://access.redhat.com/articles/3311301
2018-01-08 11:14:22 +01:00
David Guglielmi
bf056ae73d
Add support for Gentoo genkernel image path
2018-01-08 11:08:53 +01:00
Frederik Schreiber
40a9d43c44
add arch linux bootimage path
2018-01-08 10:36:29 +01:00
Stéphane Lesimple
c1004d5171
fix extract-vmlinux for non-gzip
2018-01-08 09:56:29 +01:00
Stéphane Lesimple
fa0850466e
add some comments, enhance pti detection
2018-01-08 09:37:54 +01:00
Thibault Nélis
1aaca63dcf
Improve "running as root" check
...
Small issue with the USER environment variable:
$ echo $USER
thib
$ sudo sh -c 'echo $USER'
thib
$ sudo -i sh -c 'echo $USER'
root
Rather than recommending users to use sudo --login / -i, use the (very
widespread/portable) id program to retrieve the effective user ID
instead and don't change the recommendation.
$ id -u
1000
$ sudo id -u
0
$ sudo -i id -u
0
2018-01-08 01:22:14 +01:00
Stéphane Lesimple
96dfa03c00
fix for uncompressed vmlinux case
2018-01-08 00:45:12 +01:00
Stéphane Lesimple
05c79425ab
detect kpti directly in vmlinux if option is not there
2018-01-07 22:47:41 +01:00
Stéphane Lesimple
64eb1d005c
add couple missing elses
2018-01-07 18:49:15 +01:00
Stéphane Lesimple
bffda8b3e7
remove dependency on rdmsr
2018-01-07 18:36:56 +01:00
Stéphane Lesimple
13f2133a97
cosmetic fix
2018-01-07 18:14:08 +01:00
Stéphane Lesimple
8c2fd0f0bb
fix MSR reading, need rdmsr for now
2018-01-07 18:13:25 +01:00
Stéphane Lesimple
761c2b80e4
cosmetic fix
2018-01-07 17:19:37 +01:00
Stéphane Lesimple
d6977928e5
msg fix
2018-01-07 17:15:08 +01:00
Stéphane Lesimple
bd4c74331e
add retpolines check
2018-01-07 16:57:14 +01:00
Stéphane Lesimple
82972f8790
fix status unknown for variant 1
2018-01-07 16:32:34 +01:00
Stéphane Lesimple
30de4f6336
remove hardcoded kernel image path
2018-01-07 16:25:50 +01:00
Stéphane Lesimple
9ed1fcd98a
cosmetic + v0.02
2018-01-07 16:22:30 +01:00
Stéphane Lesimple
ef7c0d7ec5
add variant 1 check
2018-01-07 16:16:11 +01:00
Stéphane Lesimple
3b760822ff
fix echo under some shells
2018-01-07 16:00:01 +01:00
Stéphane Lesimple
0201b02313
typofix
2018-01-07 15:37:50 +01:00
Stéphane Lesimple
c937e6603b
add System.map way of detecting kpti build
2018-01-07 15:36:05 +01:00
Stéphane Lesimple
4211178b3a
v0.01
2018-01-07 15:00:59 +01:00