RFR: 8329961: Buffer overflow in os::Linux::kernel_version

Johan Sjölen jsjolen at openjdk.org
Tue Apr 9 13:50:26 UTC 2024


Hi,

There was a bug in the original implementation of `os::Linux::kernel_version` which this PR fixes. Namely, the comparison `walker != nullptr` is wrong, the intended comparison was `*walker != '\0'` or `walker[0] != '\0'`. This means that if a bad/unexpected version string is encountered the `walker` would read past the string.

We fix this by applying the correct comparison and adding some basic tests.

@luhenry , @robehn. You attempted to create automatic backport branches on this in the original PR, can you check whether this fix also needs to be backported to the mentioned versions? The original PR link is this: https://github.com/openjdk/jdk/pull/17889

-------------

Commit messages:
 - Test and fix

Changes: https://git.openjdk.org/jdk/pull/18697/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18697&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8329961
  Stats: 90 lines in 3 files changed: 79 ins; 10 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18697.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18697/head:pull/18697

PR: https://git.openjdk.org/jdk/pull/18697


More information about the hotspot-runtime-dev mailing list