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

CVE-2018-1000500 on BusyBox 1.31.1 - need new release #1937

Closed
mbwhelan opened this issue Jan 22, 2021 · 14 comments
Closed

CVE-2018-1000500 on BusyBox 1.31.1 - need new release #1937

mbwhelan opened this issue Jan 22, 2021 · 14 comments

Comments

@mbwhelan
Copy link

Please create a new release/image with BusyBox 1.32.0+ to resolve CVE-2018-1000500

@SuperQ
Copy link
Member

SuperQ commented Jan 22, 2021

The node_exporter does not use wget or the ssl implementation in the busybox included in the default Docker image. The node_exporter also does not exec any external processes.

The only way to exploit this is if you already have a shell in the container.

@discordianfish
Copy link
Member

Yeah this shouldn't be a concern for the node-exporter but it could be a concern for other images.
I thought we disabled TLS support in our busybox image but it doesn't look like that's the case.. but we should update either way.

@discordianfish
Copy link
Member

Just did some research to follow up on docker-library/busybox#80 I've opened a year ago and it looks this has been fixed in recent busybox versions - but only when linked against openssl.
I still think we shouldn't ship anything that includes a vulnerability like this. Unfortunately that would mean building our own busybox image that either includes openssl or doesn't include https support since upstream doesn't seem to plan to do anything about this.

@roidelapluie
Copy link
Member

What is the added value of shipping busybox vs no distro ?

@SuperQ
Copy link
Member

SuperQ commented Jan 23, 2021

We have busybox in our images rather than just FROM scratch to allow attaching a debugging shell.

@roidelapluie
Copy link
Member

are we willing to compile busybox ourselves with that ?

@discordianfish
Copy link
Member

I think we have the options:

  • Compile it ourselves
  • Use FROM scratch (at least in k8s, you have ephemeral debug containers these days)
  • Use alpine as base image

I think using alpine seems to be the best option, given it's only slightly larger than busybox. It too uses busybox but with working TLS setup:

# wget http://expired.badssl.com
Connecting to expired.badssl.com (104.154.89.105:80)
Connecting to expired.badssl.com (104.154.89.105:443)
ssl_client: expired.badssl.com: certificate verification failed: certificate has expired
wget: error getting response: Connection reset by peer

@SuperQ
Copy link
Member

SuperQ commented Jan 25, 2021

I would prefer we switched to FROM scratch, as we're a widely used package and more overhead multiplies the footprint. But this is a conversation for prometheus-developers, not node_exporter.

@mbwhelan
Copy link
Author

For what it is worth: Using Alpine for the base, I've had to release images more frequently take package and OS patches to resolve CVEs.

@SuperQ
Copy link
Member

SuperQ commented Jan 25, 2021

Thanks for the warning. I'm strongly against Alpine as a base for our containers.

@discordianfish
Copy link
Member

Another alternative is shipping both regular containers with FROM scratch and busybox based ones with a -debug suffix. But yeah we should discuss on prometheus-developers.

@aquam8
Copy link

aquam8 commented Mar 1, 2021

node-exporter being a daemonset is a very visible pod in a cluster and cannot go unnoticed as far as vulnerabilities and compliancy are concerned.

Thank you very much for your assistance

@SuperQ
Copy link
Member

SuperQ commented Mar 1, 2021

node-exporter 1.1.1 includes the latest busybox.

@SuperQ SuperQ closed this as completed Mar 1, 2021
@aquam8
Copy link

aquam8 commented Mar 1, 2021 via email

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

No branches or pull requests

5 participants