Fix the build by updating license hashes for cvus#3731
Conversation
|
CC @chatman |
Congratulations!This PR enabled the success of a third-party supply chain attack against the Solr code base! Fortunately the "attacker" in this situation appears to have been well meaning: A software dev attempting to replace the jar files of the ...with "newer" jars that fixed a bug, but did NOT use a new version number... This PR circumvented the jar checksums we have in place precisely to detect supply chain injection type situations, by accepting the change w/o question. If the "attacker" had been more malicious, this PR would have been complicit in compromising the security of any Solr deployment that enabled the We clearly need to be more diligent in how we handle third-party jar checksum failures. |
|
Sorry, @dsmiley , I missed this thread.
Yes, that's right. cuVS-Java 25.10 is pre-release, and hence it is being served from a snapshot maven repository instead of Maven Central: https://issues.apache.org/jira/browse/SOLR-17938 The reason we couldn't version the snapshots differently is because of a strict version checking change that was introduced recently: rapidsai/cuvs#1327. Because of this, the jar does a strict version check against the .so files and if both match (25.10.0 in this case), only then does it work.
https://github.com/apache/solr/blob/main/gradle/globals.gradle#L31, FYI. This is a |
Lets not assume any malice if there's an argument that can be explained by stupidity. The stupidity here is in the way the pre-release snapshots have been managed, and I take full responsiblity for this. |
Haha.. :-D These artifacts wouldn't have made it into the hands of the users, due to the release blocker https://issues.apache.org/jira/browse/SOLR-17938. Lets silence the false alarm, please. |
Maybe we should flag a warning via GH actions for any PR that introduces a non Maven Central artifacts repository? This way, the committers who review contributions would be notified before they merge the PRs. To be clear, in this case, I was the committer who merged the PR (#3615) with the third-party Maven repository with the full knowledge [0] of why and what is going on, so this particular instance is not an attack. FYI @narangvivek10. [0] - #3615 (comment) |
|
BTW @epugh , next time you do this, definitely at-mention who added the sha1 first before just merging, and also your commit should reference the appropriate JIRA (same as the one adding is fine; it's unreleased). |
|
Hi,
I searched the Maven Central repository and I found: I see the sha1 of the error: Thank you |
|
@aruggero Yes, cuvs-java was released recently. I'm tracking this in https://issues.apache.org/jira/browse/SOLR-17938. In order to proceed, you can try "./gradlew --refresh-dependencies". |
|
HI @chatman,
|
Looks like license hashes got out of date, fixing the build.