[ 
https://issues.apache.org/jira/browse/HBASE-28921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17891789#comment-17891789
 ] 

Nihal Jain commented on HBASE-28921:
------------------------------------

Had to revert [#6368|https://github.com/apache/hbase/pull/6368]

I see some test failures during debugging some other code. Apparently we use 
hbase-webapps folder to create an instance hbase local cluster for tests and 
the folder needs to be present in classpath. I am seeing following since we 
have removed hbase-webapps from hbase-server jar and hence tests in other 
modules can't find it in classpath now:
Caused by: java.io.FileNotFoundException: hbase-webapps/master not found in 
CLASSPATH
        at 
org.apache.hadoop.hbase.http.HttpServer.getWebAppsPath(HttpServer.java:1086)
        at 
org.apache.hadoop.hbase.http.HttpServer.getWebAppsPath(HttpServer.java:1073)
        at org.apache.hadoop.hbase.http.HttpServer.<init>(HttpServer.java:589)
        at 
org.apache.hadoop.hbase.http.HttpServer$Builder.build(HttpServer.java:431)
        at org.apache.hadoop.hbase.http.InfoServer.<init>(InfoServer.java:92)
        at 
org.apache.hadoop.hbase.HBaseServerBase.putUpWebUI(HBaseServerBase.java:345)
        at 
org.apache.hadoop.hbase.HBaseServerBase.<init>(HBaseServerBase.java:307)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:511)
        at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method)
        at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        at 
org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:124)
        ... 40 more
Fix is to include hbase-webapps in classpath for each impacted module's test 
resources. Reverting this for now to unblock any new PRs which may get impacted 
due to this change. Will raise another PR to handle the above case along with 
current change.

> Skip bundling hbase-webapps folder in jars
> ------------------------------------------
>
>                 Key: HBASE-28921
>                 URL: https://issues.apache.org/jira/browse/HBASE-28921
>             Project: HBase
>          Issue Type: Improvement
>          Components: security, UI
>            Reporter: Nihal Jain
>            Assignee: Nihal Jain
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.7.0, 3.0.0-beta-2, 2.5.11, 2.6.2
>
>
> We are bundling all webapp resources in hbase-server, hbase-thrift and 
> transitively to hbase-shaded-mapreduce jar. This can be an issue as if any of 
> the js projects used by hbase are vulnerable, security scan tools like 
> sonatype start flagging the jars too as vulnerable since they contain 
> vulnerable code.
> With this JIRA, we want to avoid bundling static webapp resources in our jars.
> For example: Bootstrap 3.4.1 which is used by hbase, has multiple medium CVEs 
> reported recently. See [https://security.snyk.io/package/npm/bootstrap/3.4.1] 
> for details.
> And since we are bundling all webapp resources in hbase-server, hbase-thrift 
> and transitively to hbase-shaded-mapreduce jar. And hence sonatype reports 
> all such jars also as vulnerable:
> |3|CVE-2024-6484|2.3|bootstrap 3.4.1|
> |3|CVE-2024-6484|2.3|org.apache.hbase : hbase-server : 2.6.0|
> |3|CVE-2024-6484|2.3|org.apache.hbase : hbase-shaded-mapreduce : 2.6.0|
> |3|CVE-2024-6484|2.3|org.apache.hbase : hbase-thrift : 2.6.0|
> It is wise to remove such files from our jars to avoid any bigger hiccups in 
> future.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to