Skip to content

Conversation

slobodanadamovic
Copy link
Contributor

This PR updates bc-fips and bctls-fips dependencies to the latest minor versions.

This PR updates `bc-fips` and `bctls-fips` dependencies
to the latest minor versions.
@slobodanadamovic slobodanadamovic added >upgrade :Security/Security Security issues without another label Team:Security Meta label for security team v8.16.0 v8.15.2 labels Sep 17, 2024
@slobodanadamovic slobodanadamovic requested a review from a team September 17, 2024 09:08
@slobodanadamovic slobodanadamovic self-assigned this Sep 17, 2024
Copy link
Contributor

Documentation preview:

@elasticsearchmachine
Copy link
Collaborator

Hi @slobodanadamovic, I've created a changelog YAML for you.

@slobodanadamovic slobodanadamovic added the :Security/FIPS Running ES in FIPS 140-2 mode label Sep 17, 2024
@slobodanadamovic
Copy link
Contributor Author

@elasticmachine update branch

@h3xcat
Copy link

h3xcat commented Nov 11, 2024

@slobodanadamovic Upgrading bc-fips to 1.0.2.5 invalidates FIPS compliance. The 1.0.2.5 version hasn't been certified for FIPS, and there are no future plans for that specific version to be certified according to library developers. Instead they recommend for applications to migrate to version 2.0.0, which was certified for FIPS.

bcgit/bc-java#1688 (comment)

https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4743 (certificate for 2.0.0)
https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4616 (historic certificate for 1.0.2.4)

@jakelandis
Copy link
Contributor

jakelandis commented Nov 21, 2024

@h3xcat - We strive to keep Elasticsearch dependencies free from CVE's. This upgrade is to address CVE-2024-29857 , which Elasticsearch (the service) is not susceptible, out of the box, since Bouncy Castle is not shipped or configured (out of the box) as a JCE/JSSE provider. It is used in ancillary functions and for testing to ensure that our guidance for how to be compliant works. This change will update the dependency for those ancillary functions and which version we test against and our guidance for FIPS compliance. After internal discussion and a quick consult with a consultant we decided to proceed with the upgrade to the dependency.

There will always be a time difference between a CVE being reported and a FIPS module being able to be re-certified. So what is the appropriate action ? Ship/recommend a dependency with CVE(s); with certification vs. ship/recommend a dependency without CVE(s); not certified ? FedRAMP helps to answer that: https://www.fedramp.gov/updates/docs/cryptographic-module/ : "FedRAMP generally prefers use of an unvalidated module with no known vulnerabilities over the use of a known-vulnerable validated module." So that is the rationale to why we plan upgrade this dependency, and will be our general stance going forward. There are arguments to made both ways, but we believe that the default should be CVE free.

In this case, Bouncy Castle 1.x / FIPS 140-2 module (per bcgit/bc-java#1688 (comment)) will never be re-certified, but the point remains to prefer no vulnerabilities over the version in the certification. There are plans to upgrade our support to Bouncy Castle 2.0.0 with FIPS 140-3 compliance, but that will take a bit before that can be fully supported.

Copy link
Contributor

@jakelandis jakelandis left a comment

Choose a reason for hiding this comment

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

LGTM (pending CI)

@slobodanadamovic slobodanadamovic added auto-backport Automatically create backport pull requests when merged auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) labels Nov 22, 2024
@slobodanadamovic slobodanadamovic marked this pull request as ready for review November 22, 2024 10:34
@slobodanadamovic slobodanadamovic requested review from a team as code owners November 22, 2024 10:34
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-security (Team:Security)

@elasticsearchmachine elasticsearchmachine merged commit 6ea3e01 into elastic:main Nov 22, 2024
21 checks passed
@slobodanadamovic slobodanadamovic deleted the sa-upgrade-bc-fips-dependencies branch November 22, 2024 10:39
slobodanadamovic added a commit to slobodanadamovic/elasticsearch that referenced this pull request Nov 22, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
@elasticsearchmachine
Copy link
Collaborator

💚 Backport successful

Status Branch Result
8.17
8.x

slobodanadamovic added a commit to slobodanadamovic/elasticsearch that referenced this pull request Nov 22, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
elasticsearchmachine pushed a commit that referenced this pull request Nov 22, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
elasticsearchmachine pushed a commit that referenced this pull request Nov 22, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
smalyshev pushed a commit to smalyshev/elasticsearch that referenced this pull request Nov 22, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
alexey-ivanov-es pushed a commit to alexey-ivanov-es/elasticsearch that referenced this pull request Nov 28, 2024
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.
mark-vieira pushed a commit to mark-vieira/elasticsearch that referenced this pull request Jan 6, 2025
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.

(cherry picked from commit 6ea3e01)
@mark-vieira
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.16

Questions ?

Please refer to the Backport tool documentation

elasticsearchmachine pushed a commit that referenced this pull request Jan 6, 2025
This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.

(cherry picked from commit 6ea3e01)

Co-authored-by: Slobodan Adamović <[email protected]>
kezhenxu94 pushed a commit to tetrateio/elasticsearch that referenced this pull request Feb 20, 2025
)

This PR updates `bc-fips` and `bctls-fips` dependencies to the latest
minor versions.

(cherry picked from commit 6ea3e01)

Co-authored-by: Slobodan Adamović <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Automatically create backport pull requests when merged auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) :Security/FIPS Running ES in FIPS 140-2 mode :Security/Security Security issues without another label Team:Security Meta label for security team >upgrade v8.17.1 v8.18.0 v9.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants