Bug 1858856

Summary: RHEL8.3: rtslib: shutil.copy() opens the file with wrong permissions
Product: Red Hat Enterprise Linux 8 Reporter: Maurizio Lombardi <mlombard>
Component: python-rtslibAssignee: Maurizio Lombardi <mlombard>
Status: CLOSED ERRATA QA Contact: Filip Suba <fsuba>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: fsuba, sostapov
Target Milestone: rcKeywords: Bugfix
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:51:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Maurizio Lombardi 2020-07-20 15:16:32 UTC
Description of problem:

Previously we had to replace shutil.copyfile() with shutil.copy(), because we want to copy the file permissions to the destination file along with the data.

It appears that shutil.copy() is opening the destination file with wide access (0666) first, and then it starts copying the data and at the end it is copying the permissions from source file to destination.

If we closely notice there appears a window between destination file is opened vs permissions are set on the destination file, which could allow a user to get the contents of the file when opening it at the right time.

This issue is mitigated by the fact that now the /etc/target directory
has the permission bits set to "0600", thus preventing the data leak.

Comment 3 Filip Suba 2020-08-20 12:57:48 UTC
Verified with python-rtslib-2.1.73-2.el8. Regression testing passed.

Comment 6 errata-xmlrpc 2020-11-04 01:51:53 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 (python-rtslib bug fix and enhancement 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/RHEA-2020:4505