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

adding new CVEs to list #388

Merged
merged 5 commits into from
Dec 15, 2021
Merged

Conversation

Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@scott-confluent : Thanks for the PR. LGTM

@showuon : Do you have any more comments on this?

cve-list.html Outdated
<h2><a href="https://access.redhat.com/security/cve/CVE-2021-4104">CVE-2021-4104</a>
Flaw in Apache Log4j logging library in versions 1.x</h2>

<p>Some components in Apache Kafka use <code>Log4j-v1.2.17</code></p>
Copy link
Contributor

Choose a reason for hiding this comment

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

Could we spell out all components? I think the components include the following.

broker
controller
zookeeper
connect
mirrormaker
tools
clients configured with log4j

Copy link
Contributor Author

Choose a reason for hiding this comment

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

How does something like this sound?

"Some components, including but not limited to: broker, controller, zookeeper, connect, mirrormaker, tools, and clients configured with log4j, use Log4j-v1.2.17"

Copy link
Contributor

Choose a reason for hiding this comment

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

How about the following?

"The following components in Apache Kafka use Log4j-v1.2.17: broker, controller, zookeeper, connect, mirrormaker and tools. Clients may also be configured to use Log4j-v1.2.17."

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here it is with both updates:
Screen Shot 2021-12-14 at 1 57 20 PM

Copy link
Contributor

Choose a reason for hiding this comment

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

A minor change. "Client applications may also be configured to use Log4j-v1.x."

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is this to update the last sentence of the first paragraph?

cve-list.html Outdated
</tr>
<tr>
<td>Fixed versions</td>
<td>NA</td>
Copy link
Contributor

Choose a reason for hiding this comment

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

Since we don't have a fix yet, perhaps we could add the following.

In the absence of a new log4j 1.x release, one can remove JMSAppender
from the log4j-1.2.17.jar artifact. Commands are listed in the
page http://slf4j.org/log4shell.html.

We also recommend that configuration files be protected against write access as stated in http://slf4j.org/log4shell.html.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here it is with both updates:
Screen Shot 2021-12-14 at 1 57 20 PM

@junrao
Copy link
Contributor

junrao commented Dec 14, 2021

@scott-confluent : Have you pushed the new changes?

@junrao
Copy link
Contributor

junrao commented Dec 14, 2021

@ijuma : Does the content look good to you? Thanks.

@izzyacademy
Copy link

Do we want to add a disclaimer that users need to check their connectors to see if it uses log4j2?

Though the core library does not use this dependency, it is possible external connectors that use it could introduce vulnerabilities if they depend on the affected log4j2 version

@scott-confluent
Copy link
Contributor Author

Do we want to add a disclaimer that users need to check their connectors to see if it uses log4j2?

Though the core library does not use this dependency, it is possible external connectors that use it could introduce vulnerabilities if they depend on the affected log4j2 version

@junrao what do you think?

cve-list.html Outdated
<h2><a href="https://access.redhat.com/security/cve/CVE-2021-4104">CVE-2021-4104</a>
Flaw in Apache Log4j logging library in versions 1.x</h2>

<p>The following components in Apache Kafka use <code>Log4j-v1.2.17</code>: broker, controller, zookeeper, connect, mirrormaker and tools. Clients may also be configured to use <code>Log4j-v1.2.17</code>.</p>
Copy link
Contributor

Choose a reason for hiding this comment

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

Clients may also be configured to use Log4j-v1.2.17 => Clients may also be configured to use Log4j-v1.x

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated. Thanks for clarifying

@scott-confluent
Copy link
Contributor Author

screencapture-localhost-cve-list-html-2021-12-14-18_22_24

@rhauch
Copy link
Contributor

rhauch commented Dec 14, 2021

As background for Connect:

  • Connect runtime puts all JARs from each connector plugin on a separate classloader, and the Connect runtime nor other connector plugins have access to a plugin's JARs. This is why a connector plugin that includes a Log4J 2.x JAR
  • Most connector implementations simply use the logging provided by the Connect runtime, which is Log4J 1.x regardless of the JARs included by connector plugins.
  • However, if a connector plugins does include the Log4J 2.x JAR files, those JAR files will only be used if the connector implementation explicitly uses those APIs. There isn't a need to do this, but connectors are custom code and can do quite a bit.

We might consider adding something like this under the CVE-2021-44228 section, which I hope conveys the limited scope of the risk:

The Connect runtime of Apache Kafka allows users to install third party connector plugins. These connector plugins will use Connect runtime's Log4J 1.x by default, even when Log4J 1.x or 2.x JARs are inadvertently shipped with the connector plugin. Check with the vendor of any connector plugin that includes a Log4J 2.x JAR file.

Basically, AK is not responsible for third party connectors that users add to their Connect installations. But users should consult with the vendor of those third party connectors.

As for CVE-2021-4104, I think the existing wording applies to Connect just as well as every other part of AK, so IMO no changes are necessary to that section specifically for Connect.

Feel free to wordsmith as needed.

@rhauch
Copy link
Contributor

rhauch commented Dec 14, 2021

Or, if we want something even simpler, maybe we could just add a sentence to the CVE-2021-44228 section that says:

Check with the vendor of any connector plugin that includes a Log4J 2.x JAR file.

@junrao
Copy link
Contributor

junrao commented Dec 14, 2021

Thanks, @rhauch. The simpler version is probably enough. @scott-confluent : Could you add that?

@scott-confluent
Copy link
Contributor Author

@junrao @rhauch Does adding it here make sense?
Screen Shot 2021-12-14 at 6 59 27 PM

@junrao
Copy link
Contributor

junrao commented Dec 15, 2021

@scott-confluent : Thanks for the updated PR. LGTM

@junrao junrao merged commit f7cff0d into apache:asf-site Dec 15, 2021
@scott-confluent scott-confluent deleted the cve-list-update branch December 15, 2021 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants