GitHub Advisoryadvisory · Maven

GHSA-j2pc-v64r-mv4f Protobuf Maven Plugin protocDigest is ignored when using protoc from PATH

LOW Published 2025-11-04 Modified 2025-11-15 Official page ↗
Ecosystem
Maven
Packages
io.github.ascopes:protobuf-maven-plugin
Severity
Low
CVSS vector
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Weaknesses
CWE-354, CWE-693
Reviewed
2025-11-04

Affected packages

• Maven io.github.ascopes:protobuf-maven-plugin: >= 4.0.0, < 4.0.2 → fixed in 4.0.2 • Maven io.github.ascopes:protobuf-maven-plugin: < 3.10.2 → fixed in 3.10.2

Description

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 `PATH` 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: ```xml PATH sha256:0000000000000000000000000000000000000000000000000000000000000000 ``` 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 `` as protection are affected.

Related

Weakness · CWE (2)

  • CWE-354 Improper Validation of Integrity Check Value weakness
  • CWE-693 Protection Mechanism Failure weakness

References