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

Any comments about billion laughs vulnerability CVE-2019-11253? #1262

Closed
immunochomik opened this issue Oct 10, 2019 · 5 comments
Closed

Any comments about billion laughs vulnerability CVE-2019-11253? #1262

immunochomik opened this issue Oct 10, 2019 · 5 comments
Labels

Comments

@immunochomik
Copy link

Just a question if you could comment about the 'billion laughs' vulnerability ?

I think that the api server and kubelets are running with --anonymous-auth=false.
But the api server is exposed on the internet.

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11253
https://thenewstack.io/kubernetes-billion-laughs-vulnerability-is-no-laughing-matter

@raesene
Copy link

raesene commented Oct 14, 2019

(Whilst I'm not MS I know a bit about this vuln)

The issue will occur wherever it is possible for a user to send YAML to the API Server or other service that will process YAML. If --anonymous-auth=false is set the exposure will be limited to users/attackers who have rights to create or update objects on the API.

There are patches in upstream Kubernetes coming out and I believe they are due to drop on the 15th October kubernetes/kubernetes#83253

@abenck
Copy link

abenck commented Oct 14, 2019

I did some digging into this and you can pull the config to confirm anonymous auth is false with this

`kubectl proxy --port=8001 &

NODE_NAME="YOUR-AKS-NODE-NAME"; curl -sSL "http:https://localhost:8001/api/v1/nodes/${NODE_NAME}/proxy/configz" | jq '.kubeletconfig|.kind="KubeletConfiguration"|.apiVersion="kubelet.config.k8s.io/v1beta1"' > kubelet_configz_${NODE_NAME}`

Microsoft also has this in preview if you like living on the bleeding edge.
https://docs.microsoft.com/en-us/azure/aks/api-server-authorized-ip-ranges

@raesene
Copy link

raesene commented Oct 14, 2019

That query will cover you for kubelet but probably not for the API server (not sure if there's a good way to see API server startup flags with AKS as it's a managed process)

You could get your public API server and hit it with curl though https://[IP]:[PORT]/version should return an unauthorized message if anonymous auth. is off, and return some form of version information if it's enabled.

Even if anonymous auth is enabled it doesn't necessarily expose you to this issue, unless an endpoint which allows for YAML to be POST'ed to the API server is exposed.

@palma21
Copy link
Member

palma21 commented Oct 18, 2019

Yes it's off on AKS

--anonymous-auth=false

Thanks for your answers @raesene

I'll pin this for a while for info and then close

@palma21 palma21 pinned this issue Oct 18, 2019
@palma21
Copy link
Member

palma21 commented Nov 13, 2019

Closing

@palma21 palma21 closed this as completed Nov 13, 2019
@palma21 palma21 unpinned this issue Nov 13, 2019
@ghost ghost locked as resolved and limited conversation to collaborators Jul 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants