Every CVESearch/Get API key

GHSA-j2pc-v64r-mv4f

Protobuf Maven Plugin protocDigest is ignored when using protoc from PATH

1.0 LowFix available

Summary

The expected protocDigest is ignored when protoc is taken from the PATH.

Details

The documentation for the protocDigest parameter says:

... Users may wish to specify this if using a PATH-based binary ...

However, when specifying <protoc>PATH</protoc> the protocDigest is not actually checked because the code returns here already https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L91-L93

before the digest check: https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L106

PoC

Specify:

<protoc>PATH</protoc>
<protocDigest>sha256:0000000000000000000000000000000000000000000000000000000000000000</protocDigest>

And notice how the protoc on the PATH is not rejected, despite a digest mismatch.

Impact

Users who have an untrusted protoc executable on their PATH and rely <protocDigest> as protection are affected.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
Active

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

What each source reports

GitHub Advisories Score used1.0

Protobuf Maven Plugin protocDigest is ignored when using protoc from PATH

Summary

The expected protocDigest is ignored when protoc is taken from the PATH.

Details

The documentation for the protocDigest parameter says:

... Users may wish to specify this if using a PATH-based binary ...

However, when specifying <protoc>PATH</protoc> the protocDigest is not actually checked because the code returns here already https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L91-L93

before the digest check: https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L106

PoC

Specify:

<protoc>PATH</protoc>
<protocDigest>sha256:0000000000000000000000000000000000000000000000000000000000000000</protocDigest>

And notice how the protoc on the PATH is not rejected, despite a digest mismatch.

Impact

Users who have an untrusted protoc executable on their PATH and rely <protocDigest> as protection are affected.

Record
GHSA-j2pc-v64r-mv4f
CVSS 4.0
1.0 LowCVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Weakness
CWE-354, CWE-693
Updated
2026-11-02
OSV1.0

Protobuf Maven Plugin protocDigest is ignored when using protoc from PATH

Summary

The expected protocDigest is ignored when protoc is taken from the PATH.

Details

The documentation for the protocDigest parameter says:

... Users may wish to specify this if using a PATH-based binary ...

However, when specifying <protoc>PATH</protoc> the protocDigest is not actually checked because the code returns here already https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L91-L93

before the digest check: https://github.com/ascopes/protobuf-maven-plugin/blob/59097aae8062c461129a13dcda2f4116b90a8765/protobuf-maven-plugin/src/main/java/io/github/ascopes/protobufmavenplugin/protoc/ProtocResolver.java#L106

PoC

Specify:

<protoc>PATH</protoc>
<protocDigest>sha256:0000000000000000000000000000000000000000000000000000000000000000</protocDigest>

And notice how the protoc on the PATH is not rejected, despite a digest mismatch.

Impact

Users who have an untrusted protoc executable on their PATH and rely <protocDigest> as protection are affected.

Record
GHSA-j2pc-v64r-mv4f
CVSS 4.0
1.0 LowCVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Weakness
CWE-354, CWE-693
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
io.github.ascopes:protobuf-maven-plugin
Maven
4.0.0 to 4.0.1
4.0.2
io.github.ascopes:protobuf-maven-plugin
Maven
before 3.10.2
3.10.2
io.github.ascopes:protobuf-maven-plugin
Maven
4.0.0 up to 4.0.2, plus listed versions
4.0.1
4.0.2
io.github.ascopes:protobuf-maven-plugin
Maven
before 3.10.2, plus listed versions
0.0.10.0.1-M10.0.1-M20.0.1-M30.0.1-M4
Show 45 moreShow less
0.1.00.1.10.1.20.2.00.2.10.2.20.2.30.2.40.3.00.3.10.3.20.3.30.4.00.4.10.4.20.5.00.5.11.0.01.1.01.1.11.1.21.1.31.2.01.2.0-rc11.2.12.0.02.0.0-alpha12.0.0-alpha22.0.12.0.22.0.32.1.02.1.12.1.22.1.32.1.42.1.52.10.02.10.12.10.22.10.32.10.42.10.52.10.62.11.0
3.10.2

History

History
RecordedChangedSources
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

GHSA-j2pc-v64r-mv4f is a low vulnerability (CVSS 1.0) in io.github.ascopes:protobuf-maven-plugin, published November 4, 2025. No source lists public exploit code. Fixed in io.github.ascopes:protobuf-maven-plugin 4.0.2.

References

This page doesn't list everything

Left out here: 58 versions. The JSON record has them.

MoveEnter Open