CVE ID: CVE-2022-31231
Severity: Medium
Who should run this procedure?
Dell requests this procedure of upgrading xDoctor, and installation of the patch be done by Customers. This is the quickest and safest method as it avoids prolonged exposure to this vulnerability. All the steps are detailed in this KB. There is also a video guide which can be followed to accompany this KB which resides at below link.
Impact of procedure:
Expect possible I/O timeouts while dataheadsvc services are restarted node by node. Applications should be accessing the cluster over a Load balancer and must be able to handle the I/O timeout. A maintenance window is advised when performing this procedure.
CAS only buckets Exception:
If all buckets on an ECS are exclusively CAS highlighted below then it is not affected by this security vulnerability. It is therefore not necessary to apply the patch and this KB does not have to be followed.
Command:
# svc_bucket list
Example:
admin@ecs-n1:~> svc_bucket list svc_bucket v1.0.33 (svc_tools v2.5.1) Started 2022-07-08 08:49:11 Bucket Temp Replication Owner Owner API FS Versioning Failed Bucket Name Namespace Group User VDC Type Enabled Enabled (TSO) cas_bucket region_ns RG1 casuser VDC1 CAS false Disabled False cas_bu region_ns RG1 cas_obj VDC1 CAS false Disabled False test region_ns RG1 test1 VDC1 CAS false Disabled False test_cas region_ns RG1 test_cas VDC1 CAS false Disabled False test_bkt_cas region_ns RG1 user_test VDC1 CAS false Disabled False Friday_cas region_ns RG1 Friday_cas VDC1 CAS false Disabled False
Time taken for the activity (Approximately):
A 60 second delay is set by default per node between service restarts. The number of nodes in a Virtual Data Center (VDC) multiplied by 60 seconds + 30 minutes for preparation, service stabilization, and post checks needed.
Examples:
A 48 node VDC ECS can take approximately 80 minutes:
60 seconds X 48 (Number of VDC nodes) + 30 minutes (preparation) = 80 minutes approx.
An eight node VDC ECS can take approximately 40 minutes:
60 seconds X 8 (Number of VDC nodes) + 30 minutes (preparation) = 40 minutes approx.
Frequently Asked Questions (FAQ):
Q: Is the patch part of the xDoctor release?
A: The patch install script is part of xDoctor release 4.8-84 and higher. Instructions for the download of xDoctor and execution of patch install are in the resolution steps.
Q: Can I update multiple VDCs in parallel?
A: No, patch 1 VDC at a time.
Q: If I upgrade ECS after running this procedure, do I rerun the procedure post upgrade?
A: No, if upgrading to a code version specified in DSA-2022-153 which has the permanent fix. Yes, if upgrading to a code version not specified in this same DSA.
Q: Does the patch must be reapplied on an ECS where it was previously installed after a node replacement, reimage, or expansion?
A: No, if the VDC is at the code version that is specified in DSA-2022-153 which has the permanent fix. Yes, if doing any of these actions against a VDC running a code version not specified in this same DSA. Where the patch is required for these scenarios, the Dell engineer in question will be in contact to inform that the update is required.
Q: What if I am only using legacy users and not using IAM?
A: Customers must apply the patch regardless if using only legacy users and not IAM.
Q: What user should we be logged in as to run all commands in this KB?
A: admin
Q: Does svc_patch have to be run on all racks or with a specialized MACHINES file where multiple racks in a VDC?
A: No, it auto-detects if multiple racks exist and updates all nodes on all racks on that VDC.
Q: I notice the target xDoctor release is no longer 4.8-84.0. Why?
A: xDoctor releases occur frequently so it is always recommended to upgrade to highest released version. If however we have previously ran the fix using 4.8-84.0 then ECS is fully protected against the vulnerability and does not need to be rerun.
Resolution Summary:
Upgrade your ECS xDoctor software to latest Version available.
# sudo xdoctor --version
admin@node1:~> sudo xdoctor --version 4.8-84.0
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm
admin@ecs-n1:~> sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm 2022-07-04 07:41:49,209: xDoctor_4.8-83.0 - INFO : xDoctor Upgrader Instance (1:SFTP_ONLY) 2022-07-04 07:41:49,210: xDoctor_4.8-83.0 - INFO : Local Upgrade (/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm) 2022-07-04 07:41:49,226: xDoctor_4.8-83.0 - INFO : Current Installed xDoctor version is 4.8-83.0 2022-07-04 07:41:49,242: xDoctor_4.8-83.0 - INFO : Requested package version is 4.8-84.0 2022-07-04 07:41:49,242: xDoctor_4.8-83.0 - INFO : Updating xDoctor RPM Package (RPM) 2022-07-04 07:41:49,293: xDoctor_4.8-83.0 - INFO : - Distribute package 2022-07-04 07:41:50,759: xDoctor_4.8-83.0 - INFO : - Install new rpm package 2022-07-04 07:42:04,401: xDoctor_4.8-83.0 - INFO : xDoctor successfully updated to version 4.8-84.0
# svc_exec -m "ip address show private.4 |grep -w inet"
admin@ecsnode1~> svc_exec -m "ip address show private.4 |grep -w inet" svc_exec v1.0.2 (svc_tools v2.1.0) Started 2021-12-20 14:03:33 Output from node: r1n1 retval: 0 inet 169.254.1.1/16 brd 169.254.255.255 scope global private.4 Output from node: r2n1 retval: 0 inet 169.254.2.1/16 brd 169.254.255.255 scope global private.4 Output from node: r3n1 retval: 0 inet 169.254.3.1/16 brd 169.254.255.255 scope global private.4 Output from node: r4n1 retval: 0 inet 169.254.4.1/16 brd 169.254.255.255 scope global private.4
admin@ecs-n1: scp xDoctor4ECS-4.8-84.0.noarch.rpm 169.254.2.1:/home/admin/ xDoctor4ECS-4.8-84.0.noarch.rpm 100% 32MB 31.9MB/s 00:00 admin@ecsnode1~> scp xDoctor4ECS-4.8-84.0.noarch.rpm 169.254.3.1:/home/admin/ xDoctor4ECS-4.8-84.0.noarch.rpm 100% 32MB 31.9MB/s 00:00 admin@ecsnode1~> scp xDoctor4ECS-4.8-784.0.noarch.rpm 169.254.4.1:/home/admin/ xDoctor4ECS-4.8-84.0.noarch.rpm 100% 32MB 31.9MB/s 00:00 admin@ecsnode1~>
# sudo xdoctor --upgrade --local=/home/admin/xDoctor4ECS-4.8-84.0.noarch.rpm
# svc_dt check -b
admin@ecs-n1: svc_dt check -b svc_dt v1.0.27 (svc_tools v2.4.1) Started 2022-06-14 11:34:26 Date Total DT Unknown # Unready # RIS Fail # Dump Fail # Check type Time since check Check successful 2022-06-14 11:34:09 1920 0 0 0 0 AutoCheck 0m 17s True 2022-06-14 11:32:59 1920 0 0 0 0 AutoCheck 1m 27s True 2022-06-14 11:31:48 1920 0 0 0 0 AutoCheck 2m 38s True 2022-06-14 11:30:38 1920 0 0 0 0 AutoCheck 3m 48s True 2022-06-14 11:29:28 1920 0 0 0 0 AutoCheck 4m 58s True 2022-06-14 11:28:18 1920 0 0 0 0 AutoCheck 6m 8s True 2022-06-14 11:27:07 1920 0 0 0 0 AutoCheck 7m 19s True 2022-06-14 11:25:57 1920 0 0 0 0 AutoCheck 8m 29s True 2022-06-14 11:24:47 1920 0 0 0 0 AutoCheck 9m 39s True 2022-06-14 11:23:37 1920 0 0 0 0 AutoCheck 10m 49s True
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online DONE Checking Installed Patches and Dependencies DONE Patches/releases currently installed: n/a (Base release) Patches that need to be installed: CVE-2022-31231_iam-fix (PatchID: 3525) Files that need to be installed: /opt/storageos/conf/iam.object.properties (from CVE-2022-31231_iam-fix) /opt/storageos/lib/storageos-iam.jar (from CVE-2022-31231_iam-fix) The following services need to be restarted: dataheadsvc
# screen -S patchinstall # unset TMOUT # /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install
admin@ecs-n1:~> screen -S patchinstall admin@ecs-n1:~> unset TMOUT admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online DONE Checking Installed Patches and Dependencies DONE Patches/releases currently installed: n/a (Base release) Patches that will be installed: CVE-2022-31231_iam-fix (PatchID: 3525) Files that will be installed: /opt/storageos/conf/iam.object.properties (from CVE-2022-31231_iam-fix) /opt/storageos/lib/storageos-iam.jar (from CVE-2022-31231_iam-fix) The following services will be restarted: dataheadsvc Patch Type: Standalone Number of nodes: 5 Number of seconds to wait between restarting node services: 60 Check DT status between node service restarts: false Do you wish to continue (y/n)?y Distributing files to node 169.254.1.1 Distributing patch installer to node '169.254.1.1' Distributing files to node 169.254.1.2 Distributing patch installer to node '169.254.1.2' Distributing files to node 169.254.1.3 Distributing patch installer to node '169.254.1.3' Distributing files to node 169.254.1.4 Distributing patch installer to node '169.254.1.4' Distributing files to node 169.254.1.5 Distributing patch installer to node '169.254.1.5' Restarting services on 169.254.1.1 Restarting dataheadsvc Waiting 60 seconds for services to stabilize...DONE Restarting services on 169.254.1.2 Restarting dataheadsvc Waiting 60 seconds for services to stabilize...DONE Restarting services on 169.254.1.3 Restarting dataheadsvc Waiting 60 seconds for services to stabilize...DONE Restarting services on 169.254.1.4 Restarting dataheadsvc Waiting 60 seconds for services to stabilize...DONE Restarting services on 169.254.1.5 Restarting dataheadsvc Waiting 60 seconds for services to stabilize...DONE Patching complete.
admin@node1:/> exit logout [screen is terminating] admin@node1:/>
admin@node 1:~> screen -ls There is a screen on: 113275.pts-0.ecs-n3 (Detached) 1 Socket in /var/run/uscreens/S-admin.
admin@node1:~> screen -r 113277.pts-0.ecs-n3
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online DONE Checking Installed Patches and Dependencies DONE Patches/releases currently installed: CVE-2022-31231_iam-fix (PatchID: 3525) Fix for ECS iam vulnerability CVE-2022-31231 n/a (Base release) Patches that need to be installed: No files need to be installed. The following services need to be restarted: No services need to be restarted.
admin@ecs-n1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online DONE Checking Installed Patches and Dependencies DONE Patches/releases currently installed: n/a (Base release) Patches that need to be installed: CVE-2022-31231_iam-fix (PatchID: 3525) Files that need to be installed: /opt/storageos/conf/iam.object.properties (from CVE-2022-31231_iam-fix) /opt/storageos/lib/storageos-iam.jar (from CVE-2022-31231_iam-fix) The following services need to be restarted: dataheadsvc
admin@ecs-n1 /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online DONE Checking Installed Patches and Dependencies FAILED Fatal: Currently installed version of storageos-iam.jar is unknown. This likely means that a custom Isolated Patch is installed. Please contact your next level of support for further steps, and include this information Detected md5sum: 6ec26421d426365ecb2a63d8e0f8ee4f
svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online FAILED ERROR: Could not execute commands on the object-main container on 169.254.x.x Output was 'Failed to add the host to the list of known hosts (/home/admin/.ssh/known_hosts). :patchtest:' Patching is unable to continue with unreachable nodes. To proceed: - Resolve problems accessing node(s) from this one. - Manually pass a MACHINES file containing the list of working nodes to patch (not recommended). - Contact your next level of support for other options or assistance.
admin@node1:~> ls -l /home/admin/.ssh/known_hosts -rw------- 1 root root 1802 Jul 23 2019 /home/admin/.ssh/known_hosts admin@ecs:~>
# sudo chown admin:users /home/admin/.ssh/known_hosts
admin@node1:~> sudo chown admin:users /home/admin/.ssh/known_hosts
admin@node1:~> /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch install
svc_patch Version 2.9.2 Verifying patch bundle consistency DONE Detecting nodes in current VDC DONE Reading in patch details (1 of 2) DONE Reading in patch details (2 of 2) DONE Validating nodes are online FAILED ERROR: Could not execute commands on the object-main container on 169.254.x.x Output was '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:RcwOsFj7zPA5p5kSeYovF4UlZTm125nLVeCL1zCqOzc. Please contact your system administrator. Add correct host key in /home/admin/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/admin/.ssh/known_hosts:14 You can use following command to remove the offending key: ssh-keygen -R 169.254.x.x -f /home/admin/.ssh/known_hosts Password authentication is disabled to avoid man-in-the-middle attacks. Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks. :patchtest:' Patching is unable to continue with unreachable nodes. To proceed: - Resolve problems accessing node(s) from this one. - Manually pass a MACHINES file containing the list of working nodes to patch (not recommended). - Contact your next level of support for other options or assistance.
# /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/svc_patch status svc_patch Version 2.9.3 Verifying patch bundle consistency FAILED Patch bundle consistency check failed - md5sums for one or more files in the patch bundle were invalid, or files were not found. svc_patch will attempt to validate files in the patch using MD5SUMS.bundle, which is bundled with the patch. Output from md5sum was: ./lib/libs/svc_base.py: FAILED md5sum: WARNING: 1 computed checksum did NOT match
# sudo sed -i '/svc_base.py/d' /opt/emc/xdoctor/patches/CVE-2022-31231_iam-fix/MD5SUMS.bundle # sudo sed -i '/MD5SUMS.bundle/d' /opt/emc/xdoctor/.xdr_chksum