Bug 1977730 - Different file permission for secrets/user-serving-cert-000/tls.crt and secrets/user-serving-cert-000/tls.key
Summary: Different file permission for secrets/user-serving-cert-000/tls.crt and secre...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: kube-apiserver
Version: 4.7
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: 4.9.0
Assignee: Emily Moss
QA Contact: Rahul Gangwar
URL:
Whiteboard:
: 2009763 2027717 (view as bug list)
Depends On:
Blocks: 2013838 2026089
TreeView+ depends on / blocked
 
Reported: 2021-06-30 11:30 UTC by Divyam Pateriya
Modified: 2023-09-15 01:10 UTC (History)
19 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Inconsistent permissions Consequence: Need consistent Fix: All 600s Result: Now consistent
Clone Of:
Environment:
Last Closed: 2022-01-10 08:50:46 UTC
Target Upstream Version:
Embargoed:
emoss: needinfo+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift library-go pull 1202 0 None Merged Bug 1977730: change write storage chmod 2021-11-02 23:48:53 UTC
Red Hat Product Errata RHBA-2022:0029 0 None None None 2022-01-10 08:51:15 UTC

Description Divyam Pateriya 2021-06-30 11:30:17 UTC
Description of problem: 

Incorrect file permission for the below files.

-rw-r--r--. 1 root root 6030 Jun 24 10:44 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt
-rw-r--r--. 1 root root 1951 Jun 24 10:44 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.key



Version-Release number of selected component (if applicable):

OCP 4.6.19, 4.7

How reproducible:

NotSure.

Steps to Reproduce:

1. Only certificates belonging to the Custom API Name certificate for the cluster has different file permission of 0644. 


2. Rest all the files have the desired 0600 file permission.


Actual results:

All the files should have the 0600 file permission.

Expected results:

Only these two files have different 0644 "/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt" and "/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.key "

Additional info:

Comment 1 Stefan Schimanski 2021-06-30 12:26:07 UTC
4.6.19 is not the latest release, but 4.6.36 is. Please verify on the latter before opening bugs.

Comment 23 Suman Yama 2021-08-18 04:51:11 UTC
I am seeing this permission issue on 4.6.39 at customer cluster.

# ls -l /etc/kubernetes/static-pod-resources/kube-*/secrets/*/tls.crt | grep -v "rw-------"
-rw-r--r--. 1 root root 7405 Aug 17 10:17 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt
# ls -l /etc/kubernetes/static-pod-resources/kube-*/secrets/*/tls.key | grep -v "rw-------"
-rw-r--r--. 1 root root 1704 Aug 17 10:17 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.key

[root@slmcpapor1c ~]# oc version
Client Version: 4.5.9
Server Version: 4.6.39
Kubernetes Version: v1.19.0+4c3480d
[root@slmcpapor1c ~]#

Comment 24 pawankum 2021-08-18 12:35:11 UTC
Hello Team,

Any update on this?


Regards,
Pawan Kumar

Comment 25 pawankum 2021-08-20 07:51:41 UTC
Hello Team,

Is there any way around for 4.6.39 version?



Regards,
Pawan Kumar

Comment 26 pawankum 2021-08-31 12:28:28 UTC
Hello Team,

Is there any update on this?



Regards,
Pawan Kumar

Comment 42 Rahul Gangwar 2021-09-30 06:54:47 UTC
oc get clusterversion
NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.10.0-0.nightly-2021-09-29-060153   True        False         121m    Cluster version is 4.10.0-0.nightly-2021-09-29-060153

Created self-signed certs for API:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem  -subj "/CN=<API_FQDN>"
Generating a 2048 bit RSA private key
.................................+++
...........+++
writing new private key to 'key.pem'
-----

Created secret in openshift-config namespace:
oc create secret tls api-secret --cert=certificate.pem  --key=key.pem  -n openshift-config

secret/api-secret created

Updated the API server to reference the created secret:
oc get apiserver cluster -o yaml

~~~
servingCertificate:
  name: api-secret

All masters have 600 permissions for certs.

for i in `oc get node|grep master|awk '{print $1}'`;do oc debug node/$i -T  -- chroot /host bash -c "ls -ltrh /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/*/tls.crt"; done

W0930 12:13:11.760736   81390 warnings.go:70] would violate "latest" version of "baseline" PodSecurity profile: host namespaces (hostNetwork=true, hostPID=true), hostPath volumes (volume "host"), privileged (container "container-00" must not set securityContext.privileged=true)
Starting pod/ip-10-0-146-168us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
-rw-------. 1 root root 1.2K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/aggregator-client/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/internal-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/external-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/control-plane-node-admin-client-cert-key/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/check-endpoints-client-cert-key/tls.crt
-rw-------. 1 root root 2.7K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/service-network-serving-certkey/tls.crt
-rw-------. 1 root root 2.4K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/localhost-serving-cert-certkey/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/kubelet-client/tls.crt
-rw-------. 1 root root  981 Sep 30 05:08 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt

Removing debug pod ...
W0930 12:13:15.882078   81391 warnings.go:70] would violate "latest" version of "baseline" PodSecurity profile: host namespaces (hostNetwork=true, hostPID=true), hostPath volumes (volume "host"), privileged (container "container-00" must not set securityContext.privileged=true)
Starting pod/ip-10-0-182-214us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
-rw-------. 1 root root 1.2K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/check-endpoints-client-cert-key/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/aggregator-client/tls.crt
-rw-------. 1 root root 2.4K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/localhost-serving-cert-certkey/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/kubelet-client/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/internal-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/external-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/control-plane-node-admin-client-cert-key/tls.crt
-rw-------. 1 root root  981 Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt
-rw-------. 1 root root 2.7K Sep 30 05:03 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/service-network-serving-certkey/tls.crt

Removing debug pod ...
W0930 12:13:21.353581   81392 warnings.go:70] would violate "latest" version of "baseline" PodSecurity profile: host namespaces (hostNetwork=true, hostPID=true), hostPath volumes (volume "host"), privileged (container "container-00" must not set securityContext.privileged=true)
Starting pod/ip-10-0-193-73us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
-rw-------. 1 root root 1.2K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/control-plane-node-admin-client-cert-key/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/check-endpoints-client-cert-key/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/aggregator-client/tls.crt
-rw-------. 1 root root 2.7K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/service-network-serving-certkey/tls.crt
-rw-------. 1 root root 2.4K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/localhost-serving-cert-certkey/tls.crt
-rw-------. 1 root root 1.2K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/kubelet-client/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/internal-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root 2.5K Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/external-loadbalancer-serving-certkey/tls.crt
-rw-------. 1 root root  981 Sep 30 05:13 /etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/user-serving-cert-000/tls.crt

Removing debug pod ...

Comment 44 Emily Moss 2021-10-11 19:09:08 UTC
*** Bug 2009763 has been marked as a duplicate of this bug. ***

Comment 55 Maciej Szulik 2021-11-30 16:02:19 UTC
*** Bug 2027717 has been marked as a duplicate of this bug. ***

Comment 60 errata-xmlrpc 2022-01-10 08:50:46 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.9.13 bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:0029

Comment 62 Red Hat Bugzilla 2023-09-15 01:10:47 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days


Note You need to log in before you can comment on or make changes to this bug.