* Retbleed (RSBA vs BTC)
@ 2022-07-15 0:29 Jim Mattson
2022-07-15 1:07 ` Andrew Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Jim Mattson @ 2022-07-15 0:29 UTC (permalink / raw)
To: LKML
What is the value in conflating the Intel and AMD findings under the
same moniker (arch/x86/kernel/cpu/common.c)? The vulnerabilities seem
quite different to me.
The Intel CPUs tagged with RETBLEED should already report RSBA. The
paper just highlights this previously disclosed vulnerability. Or are
there Intel CPUs subject to Retbleed that don't report RSBA, and I'm
just confused?
On the AMD side, however, Branch Type Confusion is a much bigger deal.
All instructions are subject to steering by BTI, not just returns with
an empty RSB.
Don't these two vulnerabilities deserve separate names (and don't we
already have a name for the first one)?
Tangentially, I believe that the following line is wrong:
VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED),
Steppings 5, 6, and 7 are "Cascade Lake," with eIBRS, and I don't
think Cascade Lake suffers from RSBA.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Retbleed (RSBA vs BTC)
2022-07-15 0:29 Retbleed (RSBA vs BTC) Jim Mattson
@ 2022-07-15 1:07 ` Andrew Cooper
2022-07-15 20:40 ` Jim Mattson
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2022-07-15 1:07 UTC (permalink / raw)
To: Jim Mattson, LKML
On 15/07/2022 01:29, Jim Mattson wrote:
> What is the value in conflating the Intel and AMD findings under the
> same moniker (arch/x86/kernel/cpu/common.c)? The vulnerabilities seem
> quite different to me.
They are entirely different, beyond the fact that they both pertain to
the `ret` instruction.
Suffice it to say that I tried very hard to prevent this confusion...
> The Intel CPUs tagged with RETBLEED should already report RSBA. The
> paper just highlights this previously disclosed vulnerability. Or are
> there Intel CPUs subject to Retbleed that don't report RSBA, and I'm
> just confused?
There are CPUs which suffer from RSBA, that don't have MSR_ARCH_CAPS and
therefore can't enumerate it.
IIRC, MSR_ARCH_CAPS only appeared with Cascade Lake (or thereabouts), so
the earlier Skylake CPUs (which are the majority subject of "Intel
Retbleed") lack the RSBA enumeration.
> On the AMD side, however, Branch Type Confusion is a much bigger deal.
> All instructions are subject to steering by BTI, not just returns with
> an empty RSB.
>
> Don't these two vulnerabilities deserve separate names (and don't we
> already have a name for the first one)?
>
> Tangentially, I believe that the following line is wrong:
> VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED),
>
> Steppings 5, 6, and 7 are "Cascade Lake," with eIBRS, and I don't
> think Cascade Lake suffers from RSBA.
As documented, Cascade Lake does suffer RSBA when eIBRS isn't active, so
it's not a binary affliction state.
~Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Retbleed (RSBA vs BTC)
2022-07-15 1:07 ` Andrew Cooper
@ 2022-07-15 20:40 ` Jim Mattson
2022-07-15 22:12 ` Andrew Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Jim Mattson @ 2022-07-15 20:40 UTC (permalink / raw)
To: Andrew Cooper; +Cc: LKML
On Thu, Jul 14, 2022 at 6:07 PM Andrew Cooper <Andrew.Cooper3@citrix.com> wrote:
>
> On 15/07/2022 01:29, Jim Mattson wrote:
> > What is the value in conflating the Intel and AMD findings under the
> > same moniker (arch/x86/kernel/cpu/common.c)? The vulnerabilities seem
> > quite different to me.
>
> They are entirely different, beyond the fact that they both pertain to
> the `ret` instruction.
BTC affects much more than just the 'ret' instruction.
> Suffice it to say that I tried very hard to prevent this confusion...
>
> > The Intel CPUs tagged with RETBLEED should already report RSBA. The
> > paper just highlights this previously disclosed vulnerability. Or are
> > there Intel CPUs subject to Retbleed that don't report RSBA, and I'm
> > just confused?
>
> There are CPUs which suffer from RSBA, that don't have MSR_ARCH_CAPS and
> therefore can't enumerate it.
>
> IIRC, MSR_ARCH_CAPS only appeared with Cascade Lake (or thereabouts), so
> the earlier Skylake CPUs (which are the majority subject of "Intel
> Retbleed") lack the RSBA enumeration.
Ah, right. I was thinking that we got IA32_ARCH_CAPABILITIES on older
parts with microcode updates, but I was mistaken.
> > On the AMD side, however, Branch Type Confusion is a much bigger deal.
> > All instructions are subject to steering by BTI, not just returns with
> > an empty RSB.
> >
> > Don't these two vulnerabilities deserve separate names (and don't we
> > already have a name for the first one)?
> >
> > Tangentially, I believe that the following line is wrong:
> > VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED),
> >
> > Steppings 5, 6, and 7 are "Cascade Lake," with eIBRS, and I don't
> > think Cascade Lake suffers from RSBA.
>
> As documented, Cascade Lake does suffer RSBA when eIBRS isn't active, so
> it's not a binary affliction state.
Is there no value in separating RRSBA from RSBA? Per Table 1 in
Intel's "Return Stack Buffer Underflow" technical paper, Cascade Lake
exhibits RRSBA behavior, but not RSBA behavior.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Retbleed (RSBA vs BTC)
2022-07-15 20:40 ` Jim Mattson
@ 2022-07-15 22:12 ` Andrew Cooper
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cooper @ 2022-07-15 22:12 UTC (permalink / raw)
To: Jim Mattson; +Cc: LKML
On 15/07/2022 21:40, Jim Mattson wrote:
> On Thu, Jul 14, 2022 at 6:07 PM Andrew Cooper <Andrew.Cooper3@citrix.com> wrote:
>> On 15/07/2022 01:29, Jim Mattson wrote:
>>> What is the value in conflating the Intel and AMD findings under the
>>> same moniker (arch/x86/kernel/cpu/common.c)? The vulnerabilities seem
>>> quite different to me.
>> They are entirely different, beyond the fact that they both pertain to
>> the `ret` instruction.
> BTC affects much more than just the 'ret' instruction.
Yeah. BTC lets you cause a nop to speculate to an arbitrary destination.
This really ought to terrify people more than it appears to have done
thus far...
Retbleed is just the tip of a much larger iceberg.
>>> On the AMD side, however, Branch Type Confusion is a much bigger deal.
>>> All instructions are subject to steering by BTI, not just returns with
>>> an empty RSB.
>>>
>>> Don't these two vulnerabilities deserve separate names (and don't we
>>> already have a name for the first one)?
>>>
>>> Tangentially, I believe that the following line is wrong:
>>> VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED),
>>>
>>> Steppings 5, 6, and 7 are "Cascade Lake," with eIBRS, and I don't
>>> think Cascade Lake suffers from RSBA.
>> As documented, Cascade Lake does suffer RSBA when eIBRS isn't active, so
>> it's not a binary affliction state.
> Is there no value in separating RRSBA from RSBA? Per Table 1 in
> Intel's "Return Stack Buffer Underflow" technical paper, Cascade Lake
> exhibits RRSBA behavior, but not RSBA behavior.
The difference between RRSBA and RSBA is whether eIBRS is active or
not. According to the current eIBRS documentation.
This is a not-very-subtle hint to Intel that other things needs updating
in order to make their public statements self-consistent.
~Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-07-15 22:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-15 0:29 Retbleed (RSBA vs BTC) Jim Mattson
2022-07-15 1:07 ` Andrew Cooper
2022-07-15 20:40 ` Jim Mattson
2022-07-15 22:12 ` Andrew Cooper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®