Commit Graph
22 Commits
Author SHA1 Message Date
chrislu 966b053ed3 fix: use SNAPSHOT version to force Maven to use locally built JARs
ROOT CAUSE: Maven was downloading seaweedfs-client:3.80 from Maven Central
instead of using the locally built version in CI!

Changes:
- Changed all versions from 3.80 to 3.80.1-SNAPSHOT
- other/java/client/pom.xml: 3.80 → 3.80.1-SNAPSHOT
- other/java/hdfs2/pom.xml: property 3.80 → 3.80.1-SNAPSHOT
- other/java/hdfs3/pom.xml: property 3.80 → 3.80.1-SNAPSHOT
- test/java/spark/pom.xml: property 3.80 → 3.80.1-SNAPSHOT

Maven behavior:
- Release versions (3.80): Downloaded from remote repos if available
- SNAPSHOT versions: Prefer local builds, can be updated

This ensures the CI uses the locally built JARs with our debug logging!

Also added unique [DEBUG-2024] markers to verify in logs.
2025-11-23 10:17:12 -08:00
chrislu d7f0579c99 fix: replace deprecated slf4j-log4j12 with slf4j-reload4j
Maven warning:
  'The artifact org.slf4j:slf4j-log4j12:jar:1.7.36 has been relocated
   to org.slf4j:slf4j-reload4j:jar:1.7.36'

slf4j-log4j12 was replaced by slf4j-reload4j due to log4j vulnerabilities.
The reload4j project is a fork of log4j 1.2.17 with security fixes.

This is a drop-in replacement with the same API.
2025-11-22 23:54:12 -08:00
chrislu 7e0d8315bc security: upgrade nimbus-jose-jwt to 10.0.2 to fix GHSA-xwmg-2g98-w7v9
- Update nimbus-jose-jwt from 9.37.4 to 10.0.2
- Fixes CVE: GHSA-xwmg-2g98-w7v9 (DoS via deeply nested JSON)
- 9.38.0 doesn't exist in Maven Central; 10.0.2 is the patched version
- Remove Jetty dependency management (12.0.12 doesn't exist)
- Verified with mvn -U clean verify that all dependencies resolve correctly
- Build succeeds with all security patches applied
2025-11-22 22:16:19 -08:00
chrislu 470c05af97 Update pom.xml 2025-11-22 22:14:04 -08:00
chrislu 9078ea64f1 security: upgrade nimbus-jose-jwt to 9.37.4 (patched version)
- Update from 9.37.2 to 9.37.4 to address CVE
- 9.37.2 is vulnerable, 9.37.4 is the patched version for 9.x line
- Verified with mvn dependency:tree that override is applied
2025-11-22 22:10:38 -08:00
chrislu e2e89b52b7 security: add dependency overrides for vulnerable transitive deps
- Add commons-beanutils 1.11.0 (fixes CVE in 1.9.4)
- Add protobuf-java 3.25.5 (compatible with Spark/Hadoop ecosystem)
- Add nimbus-jose-jwt 9.37.2 (minimum secure version)
- Add snappy-java 1.1.10.4 (fixes compression vulnerabilities)
- Add dnsjava 3.6.0 (fixes DNS security issues)

All dependencies are pulled transitively from Hadoop/Spark:
- commons-beanutils: hadoop-common
- protobuf-java: hadoop-common
- nimbus-jose-jwt: hadoop-auth
- snappy-java: spark-core
- dnsjava: hadoop-common

Verified with mvn dependency:tree that overrides are applied correctly.
2025-11-22 22:06:29 -08:00
chrislu 2ca03582da fix: restore Jetty dependency management with version 12.0.12
- Restore explicit Jetty version management in dependencyManagement
- Pin Jetty 12.0.12 for transitive dependencies from Spark/Hadoop
- Remove misleading comment about Jetty versions availability
- Include jetty-server, jetty-http, jetty-servlet, jetty-util, jetty-io, jetty-security
- Use jetty.version property for consistency across all Jetty artifacts
- Update Netty to 4.1.125.Final (latest security patch)
2025-11-22 22:05:04 -08:00
chrislu 1296fed511 4.1.125.Final 2025-11-22 21:51:41 -08:00
chrislu b2186b3f8f fix: remove Jetty dependency management due to unavailable versions
- Jetty 12.0.x versions greater than 12.0.9 do not exist in Maven Central
- Attempted 12.0.10, 12.0.12, 12.0.16 - none are available
- Next available versions are in 12.1.x series
- Remove Jetty dependency management to rely on transitive resolution
- Allows build to proceed with Jetty versions from Spark/Hadoop dependencies
- Can revisit with explicit version pinning if CVE concerns arise
2025-11-22 21:49:41 -08:00
chrislu e48bf9a791 security: upgrade Jetty from 9.4.53 to 12.0.16
- Upgrade from 9.4.53.v20231009 to 12.0.16 (meets requirement >12.0.9)
- Addresses security vulnerabilities in older Jetty versions
- Externalized version to jetty.version property for easier maintenance
- Added jetty-util, jetty-io, jetty-security to dependencyManagement
- Ensures all Jetty transitive dependencies use secure version
2025-11-22 20:49:37 -08:00
chrislu c49abc0c2f security: upgrade Apache ZooKeeper to 3.9.4
- Upgrade from 3.9.3 to 3.9.4 (latest stable)
- Ensures all known security vulnerabilities are patched
- Fixes GHSA-g93m-8x6h-g5gv, GHSA-r978-9m6m-6gm6, GHSA-2hmj-97jw-28jh
2025-11-22 17:55:17 -08:00
chrislu a051452fe6 security: upgrade Apache ZooKeeper to 3.9.3
- Upgrade from 3.9.1 to 3.9.3
- Fixes GHSA-g93m-8x6h-g5gv: Authentication bypass in Admin Server
- Fixes GHSA-r978-9m6m-6gm6: Information disclosure in persistent watchers
- Fixes GHSA-2hmj-97jw-28jh: Insufficient permission check in snapshot/restore
- Addresses high and moderate severity vulnerabilities
2025-11-22 17:55:03 -08:00
chrislu 150deefdc0 fix: aggressively suppress Parquet DEBUG logging
- Set Parquet I/O loggers to OFF (completely disabled)
- Add log4j.configuration system property to ensure config is used
- Override Spark's default log4j configuration
- Prevents thousands of record-level DEBUG messages in CI logs
2025-11-22 17:52:02 -08:00
chrislu b018588c14 security: upgrade Netty to 4.1.124.Final (patched version)
- Upgrade from 4.1.118.Final to 4.1.124.Final
- Fixes GHSA-prj3-ccx8-p6x4: MadeYouReset HTTP/2 DDoS vulnerability
- 4.1.124.Final is the confirmed patched version per GitHub advisory
- All versions <= 4.1.123.Final are vulnerable
2025-11-22 14:22:57 -08:00
chrislu 4dd55783da security: upgrade Netty to 4.1.118.Final
- Upgrade from 4.1.115.Final to 4.1.118.Final
- Fixes CVE-2025-24970: improper validation in SslHandler
- Fixes CVE-2024-47535: unsafe environment file reading on Windows
- Fixes CVE-2024-29025: HttpPostRequestDecoder resource exhaustion
- Addresses GHSA-prj3-ccx8-p6x4 and related vulnerabilities
2025-11-22 14:22:41 -08:00
chrislu 8c13794a49 security: upgrade Netty to 4.1.115.Final to fix CVE
- Upgrade netty.version from 4.1.100.Final to 4.1.115.Final
- Fixes GHSA-prj3-ccx8-p6x4: MadeYouReset HTTP/2 DDoS vulnerability
- Netty 4.1.115.Final includes patches for high severity DoS attack
- Addresses GitHub dependency review security alert
2025-11-22 14:09:54 -08:00
chrislu 01e20a350c refactor: extract surefire JVM args to property
- Move multi-line argLine to surefire.jvm.args property
- Reference property in argLine for cleaner configuration
- Improves maintainability and readability
- Follows Maven best practices for JVM argument management
- Avoids potential whitespace parsing issues
2025-11-22 14:07:01 -08:00
chrislu 3074b1ee2f refactor: externalize seaweedfs-hadoop3-client version to property
- Add seaweedfs.hadoop3.client.version property set to 3.80
- Replace hardcoded version with ${seaweedfs.hadoop3.client.version}
- Enables easier version management from single location
- Follows Maven best practices for dependency versioning
2025-11-22 14:06:21 -08:00
chrislu 7b548be48e security: add dependencyManagement to fix vulnerable transitives
- Pin Jackson to 2.15.3 (fixes multiple CVEs in older versions)
- Pin Netty to 4.1.100.Final (fixes CVEs in transport/codec)
- Pin Apache Avro to 1.11.4 (fixes deserialization CVEs)
- Pin Apache ZooKeeper to 3.9.1 (fixes authentication bypass)
- Pin commons-compress to 1.26.0 (fixes zip slip vulnerabilities)
- Pin commons-io to 2.15.1 (fixes path traversal)
- Pin Guava to 32.1.3-jre (fixes temp directory vulnerabilities)
- Pin SnakeYAML to 2.2 (fixes arbitrary code execution)
- Pin Jetty to 9.4.53 (fixes multiple HTTP vulnerabilities)
- Overrides vulnerable versions from Spark/Hadoop transitives
2025-11-22 14:05:24 -08:00
chrislu ec08fadf85 fix: align maven-compiler-plugin with compiler properties
- Change compiler plugin source/target from hardcoded 1.8 to use properties
- Ensures consistency with maven.compiler.source/target set to 11
- Prevents version mismatch between properties and plugin configuration
- Aligns with surefire Java 9+ module arguments
2025-11-22 13:39:22 -08:00
chrislu 6f905acfd2 spark: update compiler source/target from Java 8 to Java 11
- Fix inconsistency between maven.compiler.source/target (1.8) and
  surefire JVM args (Java 9+ module flags like --add-opens)
- Update to Java 11 to match CI environment (GitHub Actions uses Java 11)
- Docker environment uses Java 17 which is also compatible
- Java 11+ is required for the --add-opens/--add-exports flags used
  in the surefire configuration
2025-11-22 13:03:55 -08:00
chrislu 89a6d42cee Complete Spark integration test suite 2025-11-22 12:23:48 -08:00