Annotation of wikisrc/security/meltdown_spectre.mdwn, revision 1.31
1.6 maxv 1: [[!meta title="Meltdown and Spectre Status Page"]]
1.1 maxv 2:
3: Status of the Fixes
4: -------------------
5:
1.18 maxv 6: NetBSD-6, and all the anterior releases, have no planned fixes.
7:
1.7 maxv 8: ## Spectre Variant 1
9:
1.1 maxv 10: [[!table data="""
1.18 maxv 11: Port |Vendor/Model |Spectre (V1) |NetBSD-7 |NetBSD-8 |NetBSD-current
12: amd64 |Intel |Vulnerable |Not fixed |Not fixed |Not fixed
13: amd64 |AMD |Vulnerable |Not fixed |Not fixed |Not fixed
14: amd64 |VIA |Unknown | | |
15: i386 |Intel |Vulnerable |Not fixed |Not fixed |Not fixed
16: i386 |AMD |Vulnerable |Not fixed |Not fixed |Not fixed
17: i386 |VIA |Unknown | | |
1.28 maxv 18: |MIPS P5600 |Vulnerable |Not fixed |Not fixed |Not fixed
19: |MIPS P6600 |Vulnerable |Not fixed |Not fixed |Not fixed
20: |MIPS (others) |Not vulnerable | | |
1.18 maxv 21: ia64 |Intel |Not vulnerable | | |
22: riscv |(Spec.) |Not vulnerable | | |
1.27 maxv 23: |ARM Cortex-R7 |Vulnerable |Not fixed |Not fixed |Not fixed
24: |ARM Cortex-R8 |Vulnerable |Not fixed |Not fixed |Not fixed
25: |ARM Cortex-A8 |Vulnerable |Not fixed |Not fixed |Not fixed
26: |ARM Cortex-A9 |Vulnerable |Not fixed |Not fixed |Not fixed
27: |ARM Cortex-A12 |Vulnerable |Not fixed |Not fixed |Not fixed
28: |ARM Cortex-A15 |Vulnerable |Not fixed |Not fixed |Not fixed
29: |ARM Cortex-A17 |Vulnerable |Not fixed |Not fixed |Not fixed
30: |ARM Cortex-A57 |Vulnerable |Not fixed |Not fixed |Not fixed
31: |ARM Cortex-A72 |Vulnerable |Not fixed |Not fixed |Not fixed
32: |ARM Cortex-A73 |Vulnerable |Not fixed |Not fixed |Not fixed
33: |ARM Cortex-A75 |Vulnerable |Not fixed |Not fixed |Not fixed
34: |ARM (others) |Not vulnerable | | |
1.1 maxv 35: """]]
36:
1.7 maxv 37: ## Spectre Variant 2
38:
1.1 maxv 39: [[!table data="""
1.18 maxv 40: Port |Vendor/Model |Spectre (V2) |NetBSD-7 |NetBSD-8 |NetBSD-current
1.26 maxv 41: amd64 |Intel |Vulnerable |Not fixed |Fixed [MitigD] |Fixed [MitigB] [MitigD]
42: amd64 |AMD |Vulnerable |Not fixed |Fixed [MitigD] |Fixed [MitigC] [MitigD]
1.18 maxv 43: amd64 |VIA |Unknown | | |
1.26 maxv 44: i386 |Intel |Vulnerable |Not fixed |Fixed [MitigD] |Fixed [MitigD]
45: i386 |AMD |Vulnerable |Not fixed |Fixed [MitigD] |Fixed [MitigC] [MitigD]
1.18 maxv 46: i386 |VIA |Unknown | | |
1.27 maxv 47: |MIPS P5600 |Vulnerable |Not fixed |Not fixed |Not fixed
48: |MIPS P6600 |Vulnerable |Not fixed |Not fixed |Not fixed
49: |MIPS (others) |Not vulnerable | | |
1.18 maxv 50: ia64 |Intel |Not vulnerable | | |
51: riscv |(Spec.) |Not vulnerable | | |
1.27 maxv 52: |ARM Cortex-R7 |Vulnerable |Not fixed |Not fixed |Not fixed
53: |ARM Cortex-R8 |Vulnerable |Not fixed |Not fixed |Not fixed
54: |ARM Cortex-A8 |Vulnerable |Not fixed |Not fixed |Not fixed
55: |ARM Cortex-A9 |Vulnerable |Not fixed |Not fixed |Not fixed
56: |ARM Cortex-A12 |Vulnerable |Not fixed |Not fixed |Not fixed
57: |ARM Cortex-A15 |Vulnerable |Not fixed |Not fixed |Not fixed
58: |ARM Cortex-A17 |Vulnerable |Not fixed |Not fixed |Not fixed
59: |ARM Cortex-A57 |Vulnerable |Not fixed |Not fixed |Not fixed
60: |ARM Cortex-A72 |Vulnerable |Not fixed |Not fixed |Not fixed
61: |ARM Cortex-A73 |Vulnerable |Not fixed |Not fixed |Not fixed
62: |ARM Cortex-A75 |Vulnerable |Not fixed |Not fixed |Not fixed
63: |ARM (others) |Not vulnerable | | |
1.1 maxv 64: """]]
65:
1.7 maxv 66: ## Meltdown
67:
1.1 maxv 68: [[!table data="""
1.18 maxv 69: Port |Vendor/Model |Meltdown (V3) |NetBSD-7 |NetBSD-8 |NetBSD-current
1.20 maxv 70: amd64 |Intel |Vulnerable |Not fixed |Fixed [MitigA] |Fixed [MitigA]
1.18 maxv 71: amd64 |AMD |Not vulnerable | | |
72: amd64 |VIA |Unknown | | |
73: i386 |Intel |Vulnerable |Not fixed |Not fixed |Not fixed
74: i386 |AMD |Not vulnerable | | |
75: i386 |VIA |Unknown | | |
1.27 maxv 76: |MIPS P5600 |Not vulnerable | | |
77: |MIPS P6600 |Not vulnerable | | |
78: |MIPS (others) |Not vulnerable | | |
1.18 maxv 79: ia64 |Intel |Not vulnerable | | |
80: riscv |(Spec.) |Not vulnerable | | |
1.27 maxv 81: |ARM Cortex-R7 |Not vulnerable | | |
82: |ARM Cortex-R8 |Not vulnerable | | |
83: |ARM Cortex-A8 |Not vulnerable | | |
84: |ARM Cortex-A9 |Not vulnerable | | |
85: |ARM Cortex-A12 |Not vulnerable | | |
86: |ARM Cortex-A15 |Vulnerable |Not fixed |Not fixed |Not fixed
87: |ARM Cortex-A17 |Not vulnerable | | |
88: |ARM Cortex-A57 |Vulnerable |Not fixed |Not fixed |Not fixed
89: |ARM Cortex-A72 |Vulnerable |Not fixed |Not fixed |Not fixed
90: |ARM Cortex-A73 |Not vulnerable | | |
1.28 maxv 91: |ARM Cortex-A75 |Vulnerable |Not fixed |Not fixed |Not fixed
1.27 maxv 92: |ARM (others) |Not vulnerable | | |
1.1 maxv 93: """]]
94:
1.30 maxv 95: ## Spectre Variant 3a
96:
1.31 ! maxv 97: This issue will be addressed in future microcode updates on x86. No
! 98: software change is required.
1.30 maxv 99:
1.29 maxv 100: ## Spectre Variant 4
101:
102: [[!table data="""
103: Port |Vendor/Model |Spectre (V4) |NetBSD-7 |NetBSD-8 |NetBSD-current
104: amd64 |Intel |Vulnerable |Not fixed |Not fixed |Fixed [MitigE]
105: amd64 |AMD |Unknown | | |
106: amd64 |VIA |Unknown | | |
107: i386 |Intel |Vulnerable |Not fixed |Not fixed |Fixed [MitigE]
108: i386 |AMD |Unknown | | |
109: i386 |VIA |Unknown | | |
110: """]]
111:
1.16 maxv 112: ## Mitigations
113:
114: ### Mitigation A: SVS
115:
116: Meltdown is mitigated with the SVS feature. It can be dynamically disabled
117: by changing the "machdep.svs.enabled" sysctl.
118:
1.31 ! maxv 119: ### Mitigations B, C, D
1.19 maxv 120:
1.31 ! maxv 121: There is no unified mitigation for SpectreV2. Rather, a set of mitigations
! 122: are available, in both hardware and software.
! 123:
! 124: Three sysctls exist, under the machdep.spectre_v2 node:
! 125:
! 126: [[!template id=programlisting text="""
! 127: machdep.spectre_v2.hwmitigated = {0/1} user-settable
! 128: machdep.spectre_v2.swmitigated = {0/1} set by the kernel
! 129: machdep.spectre_v2.method = {string} set by the kernel
! 130: """]]
! 131:
! 132: Only hwmitigated can be set by the user. When set to one, the kernel will
! 133: determine the best hardware mitigation available for the currently
! 134: running CPU, and will apply it.
! 135:
! 136: #### Mitigation B: Intel IBRS
! 137:
! 138: Hardware mitigation, Intel only (for now). If the CPU supports this method,
! 139: it is used automatically by the kernel. It can be dynamically
! 140: enabled/disabled by changing the "hwmitigated" sysctl.
1.19 maxv 141:
1.31 ! maxv 142: #### Mitigation C: AMD DIS_IND
1.19 maxv 143:
1.31 ! maxv 144: Hardware mitigation, available only on a few AMD families. If the CPU
! 145: supports this method, it is used automatically by the kernel. It can be
! 146: dynamically enabled/disabled by changing the "hwmitigated" sysctl.
1.19 maxv 147:
1.31 ! maxv 148: #### Mitigation D: GCC Retpoline
1.23 maxv 149:
1.31 ! maxv 150: Software mitigation. It is enabled by default in GENERIC. When enabled,
! 151: the "swmitigated" sysctl is set to one.
1.23 maxv 152:
1.29 maxv 153: ### Mitigation E: Intel SSBD
154:
155: SpectreV4 can be mitigated with the SSBD method (Intel only for now). It
156: can be dynamically enabled by changing the "machdep.spectre_v4.mitigated"
157: sysctl.
158:
1.10 maxv 159: ## External Resources
160:
1.11 maxv 161: * [MIPS Blog Post](https://www.mips.com/blog/mips-response-on-speculative-execution-and-side-channel-vulnerabilities/)
1.12 maxv 162: * [ARM Security Update](https://developer.arm.com/support/security-update)
1.15 maxv 163: * [RISC-V](https://riscv.org/2018/01/more-secure-world-risc-v-isa/)
1.10 maxv 164:
1.13 maxv 165: ## Notes
166:
167: * VIA Technologies did not issue any statement regarding their CPUs. It is not currently known whether they are affected.
168:
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb