Skip to content

HBASE-30263 Exclude transitive netty-resolver-dns to mitigate CVEs#8453

Open
xavifeds8 wants to merge 1 commit into
apache:masterfrom
xavifeds8:HBASE-30263
Open

HBASE-30263 Exclude transitive netty-resolver-dns to mitigate CVEs#8453
xavifeds8 wants to merge 1 commit into
apache:masterfrom
xavifeds8:HBASE-30263

Conversation

@xavifeds8

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread pom.xml
Comment on lines +1878 to +1881
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>${netty4.version}</version>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can I ask why do we need to add netty-all to <dependencyManagement>?

As I see we only import netty-bom (line 1874) in <dependencyManagement> - we do NOT declare netty-all as a direct dependency. The comment at line 877-884 explicitly explains that netty-all historically caused classpath conflicts when mixed with individual netty modules, and the project solved this by pinning versions via the BOM.
Also HBase itself uses shaded netty via hbase-thirdparty repo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch, you're right.

So currently 4.1.131.Final which has the CVEs in the DNS resolver modules. The proper fix would actually be to upgrade hbase-thirdparty 4.1.15 which is not yet released yet. which includes Netty 4.1.135.Final which has these CVEs resolved for netty-resolver-dns. So ideally once hbase-thirdparty 4.1.15 is out, we just consume that and this whole workaround becomes unnecessary.

given the classpath conflicts that comes up when mixing direct Netty dependencies with the shaded path i think it make sense to close this pr. We could bump up netty when thirdparty gets released.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just a few questions:

  • Aren't netty-resolver-dns is brought in by the hadoop dependencies?
  • Can it cause issues in HBase if we exclude netty-resolver-dns from Hadoop dependencies?
  • Wouldn't be better solution to update the Netty version in Hadoop itself instead of excluding netty-resolver-dns here?

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.

2 participants