Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating CVE Race Condition Benchmarks #21

Open
vesalvojdani opened this issue Mar 1, 2022 · 0 comments
Open

Creating CVE Race Condition Benchmarks #21

vesalvojdani opened this issue Mar 1, 2022 · 0 comments
Labels
new benchmark New benchmark to analyze

Comments

@vesalvojdani
Copy link
Member

The goal would be to create a a benchmark suite based on real-world vulnerabilities. Initially, I though we should focus on race condition benchmarks, these are all fairly complicated. There are enough CVE entries that mention races, so it may be a good place to start.

Included

  • CVE-2019-19537 (fix) drivers/usb/core/file.c --- We are able to detect this. The race is more conceptual than accessing the same memory location, but the type-based data race exposes it.

Maybe

  • CVE-2009-4895 (fix) drivers/char/tty_io.c --- has a nice , but needs Linux 2.6 headers. Running goblint on more recent versions of drivers/tty/tty_io.c gives 62 unsafe warnings.
  • CVE-2021-32399 (fix) net/bluetooth/hci_request.c --- This moves operations within a critical section, but this is a newer kernel version than we can analyze. Older versions of this file are significantly different.

Not based on locks

  • CVE-2019-11815 (fix) net/rds/tcp.c --- seems based on intricate logic.
  • CVE-2019-11599 (fix) mm/mmap.c and others --- adds extra checks; synchronization is not added yet.
  • CVE-2018-12633 (fix) drivers/virt/vboxguest/vboxguest_linux.c --- This is a double fetch race when data is moved from user space to kernel space and can be changed in-between the fetches.
@vesalvojdani vesalvojdani added the new benchmark New benchmark to analyze label Mar 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new benchmark New benchmark to analyze
Projects
None yet
Development

No branches or pull requests

1 participant