=========================================================== == Subject: Uninitialized read of a data value == == CVE ID#: CVE-2009-1888 == == Versions: Samba 3.0.31 - 3.3.5 == == Summary: In Samba 3.0.31 to 3.3.5 (inclusive), an == uninitialized read of a data value can potentially == affect access control when "dos filemode" == is set to "yes". == =========================================================== =========== Description =========== The smbd daemon in Samba 3.0.31 - 3.3.5 contains an uninitialized read of a data value that can potentially affect access control. If a user is trying to modify an access control list (ACL) and is denied permission, this deny may be overridden if the parameter "dos filemode" is set to "yes" in the smb.conf and the user already has write access to the file. The error occurs in checking that the user has write access. Uninitialized memory is read instead of the values in the 'stat' struct of the file. An attack would be difficult to script by an attacker, as the attacker would need to find a reproducible case to ensure previously used stack memory had the correct values to trigger the bug. In addition, the server would have to have been configured with "dos filemode = yes" in the smb.conf. ================== Patch Availability ================== A patch addressing this defect has been posted to http://www.samba.org/samba/security/ Additionally, Samba 3.2.13 and 3.0.35 and 3.3.6 have been issued as security releases to correct the defect. Samba administrators are advised to upgrade to these releases or apply the patch as soon as possible. ========== Workaround ========== Set the parameter: dos filemode = no in the [global] section of your smb.conf. This is already the default setting. ======= Credits ======= This issue was found by Jeremy Allison <jra@samba.org> as part of normal code auditing activities in Samba. ========================================================== == Our Code, Our Bugs, Our Responsibility. == The Samba Team ==========================================================