Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ventana: Jeff Law – design/implementation review

Samsung: Alexy Merzlyakov – binary/rpm scanner based on Nick Clifton's annobin framework

Red Hat: Nick Clifton – annobin scanning framework



External:


Dependencies

  • There is a minor dependency on wording in PSABI for a extreme corner case.   Essentially PSABI will need to spell out certain requirements for callers that the callee can depend on to implement efficient stack clash mitigation.   This is a technical ABI change, but it is expected all binaries in the wild would satisfy the new ABI requirements as-is without a rebuild.

...

Page Properties


Development

Status
colourBlueGreen
titleIN PROGRESSCOMPLETE


Development TimelineNA1H2024
Upstreaming

Status
colourYellowGreen
titleNOT STARTEDCOMPLETE


Upstream Version

gcc-15 (target)

Spring 2025




Contacts

Raphael Zinsly (Ventana)

Jeff Law (Ventana)


Dependencies

None




Updates

 

  • Marking as complete as the code was recently committed into GCC.

 

  • Using Alexy's scanner 6421 packages out of >22000 packages with RISC-V binaries, DSOs and relocatable .o files are potentially vulnerable to stack clash attacks
  •  A gcc-14.1.1 with Raphael's stack clash mitigations is building so that we can start testing how many of those 6421 vulnerabilities are fixed.

 

  • Using Alexy's scanner we're able to start scanning packages for issues.  Those issues which show potential problems can then be rebuilt with Raphael's work to verify the vulnerability has been closed.
  • ~22000 packages with binary data need scanning (out of > 65000 total packages)
  • Roughly 1/3rd of the packages are being flagged by Alexy's scanner.

 

  • Internal (Ventana) implementation review in progress.  Generally looks good.  Significant testing effort should spin up late this week.

 

  • Considering the GCC development effort functionally complete.
  • During investigation of glibc smoke test, discovered that the standard prologue code can create a window where it writes data into unallocated stack space.  This could potentially cause some programs to misbehave if they get an interrupt in the "right" window.  Stack clash work fixes this issue, but Ventana will submit a fix for this problem independently of stack-clash

 

  • The stack-clash implementation bootstraps when on by default
  • It appears that the implementation works correctly for the smoke test (realpath in glibc)
  • GCC's testsuite for stack clash is passing at this point
  • Building scanning tools to help identify vulnerable code and verify that the implementation closes the vulnerability
  • Upstreaming plan: late spring, shortly after gcc-15 opens for develoment

...