Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional Dependency updates #9006

Merged
merged 6 commits into from
Oct 23, 2024
Merged

Additional Dependency updates #9006

merged 6 commits into from
Oct 23, 2024

Conversation

lbergelson
Copy link
Member

Additional changes on top of #8998

@gatk-bot
Copy link

Github actions tests reported job failures from actions build 11391204694
Failures in the following jobs:

Test Type JDK Job ID Logs
cloud 17.0.6+10 11391204694.10 logs

@gatk-bot
Copy link

gatk-bot commented Oct 18, 2024

Github actions tests reported job failures from actions build 11408724818
Failures in the following jobs:

Test Type JDK Job ID Logs
cloud 17.0.6+10 11408724818.10 logs
integration 17.0.6+10 11408724818.11 logs
integration 17.0.6+10 11408724818.0 logs

@gatk-bot
Copy link

gatk-bot commented Oct 18, 2024

Github actions tests reported job failures from actions build 11409067427
Failures in the following jobs:

Test Type JDK Job ID Logs
integration 17.0.6+10 11409067427.11 logs
integration 17.0.6+10 11409067427.0 logs

* Update depenencies to fix vulnerabilities as reported in #8950
* Update our dependency management to make use of some newish gradle features
  * Add dependency constraints to update transitive dependencies, this allows us to specify versions without making them
    direct dependencies
  * Remove most force expressions and replace them where necessary with version strict requirements
  * Make use of several published bom's to configure consistent dependency versions for platforms like netty and log4j2
  * Remove exclude statements that are now handled by variant dependency resolution (like guava android vs jdk)
* Exclude the org.bouncycastle:bcprov-jdk15on dependency and replace it with bcprov-jdk18onA
  This adds an unecessary implementation level dependency on what is really a transitive, but I couldn't get gradles explicit
  replacement logic to work so this is a workaround
@lbergelson lbergelson marked this pull request as ready for review October 18, 2024 22:16
Copy link
Contributor

@droazen droazen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back to you @lbergelson -- minor comments only, looks fine to me overall. Merge when ready!

build.gradle Outdated
// include the apache commons-logging bridge that matches the log4j version we use so
// messages that originate with dependencies that use commons-logging (such as jexl)
// are routed to log4j
implementation 'org.apache.logging.log4j:log4j-jcl:' + log4j2Version
implementation 'org.apache.logging.log4j:log4j-jcl:'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stray colon at the end here?

implementation('org.objenesis:objenesis:1.2')
testImplementation('org.objenesis:objenesis:2.1')
implementation 'org.objenesis:objenesis:1.2'
testImplementation 'org.objenesis:objenesis:2.1'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is there a different version of this dependency for tests?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know.... It's always been that way. It's a very good question but I'm not going to figure it out in this PR.

build.gradle Outdated
implementation('com.intel.gkl:gkl:0.8.11') {
exclude module: 'htsjdk'
}
implementation 'com.intel.gkl:gkl:0.8.11'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the GKL version be a named constant up at the top?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

build.gradle Outdated
implementation 'dnsjava:dnsjava:3.6.0'
implementation 'org.apache.commons:commons-compress:1.26.0'
implementation 'org.apache.ivy:ivy:2.5.2'
implementation 'org.apache.commons:commons-text:1.10.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link to the vulnerability report for this one, since we had it in a now-deleted comment:
https://nvd.nist.gov/vuln/detail/CVE-2022-42889

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. I dropped it because everything in this block has some variant of "there was a nasty bug but it's fixed in this version". Added it back in.

build.gradle Outdated

//this is a replacement for the transitive dependency bcprov-jdk15on:1.70.0 which
//is excluded for security purposes
//this causes this to act as direct dependency of ours but we don't actually rely on it except as a transitive
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

document which direct dependency of ours this is a transitive dependency of

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh wow, I'm glad you asked this. It's a minicluster dependency, so it can actually be a testUtilsImplementation dependency instead.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the dependency scanner isn't aware the fact that testUtils is really a test configuration since it's not a standard one.

@lbergelson lbergelson merged commit d056c32 into master Oct 23, 2024
16 checks passed
@lbergelson lbergelson deleted the lb_security_fix branch October 23, 2024 12:34
lbergelson added a commit that referenced this pull request Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants