Skip to content

Executable files distributed with JRuby have incorrect PE details #59

@joshbressers

Description

@joshbressers

The JRuby download artifacts contain two executable files that are checked into the git repo. These files can be found here
https://github.com/jruby/jruby/tree/master/bin

They are jruby.exe and jrubyw.exe.

The Portable Executable (PE) data in those files is incorrect.

If we extract the PE data from the files (I used peres from the pev package on Debian) I get

ProductName JRuby
ProductVersion 1.0

I'm not sure I would call those JRuby as they are launchers, but that's something I'll let you all figure out :)

But the version is certainly incorrect

This was found while working with the Syft SBOM scanner. It parses PE metadata to extract names and versions. This results in an SBOM that shows version 1.0 of JRuby being present.

Environment Information
Linux (but this affects all environments)

Provide at least:

  • JRuby version (jruby -v) and command line (flags, JRUBY_OPTS, etc)
  • Operating system and platform (e.g. uname -a)

./jruby -v
jruby 10.0.2.0 (3.4.2) 2025-08-07 cba6031bd0 OpenJDK 64-Bit Server VM 21.0.9+10 on 21.0.9+10 +indy +jit [x86_64-linux]

Expected Behavior
I would expect PE data that looks something like

ProductName JRubyLauncher
ProductVersion 10.0.2.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions