Changeset 423


Ignore:
Timestamp:
Mar 9, 2010, 7:58:12 AM (15 years ago)
Author:
Herwig Bauernfeind
Message:

Update Samba 3.3.x to 3.3.12

Location:
branches/samba-3.3.x
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.3.x/WHATSNEW.txt

    r411 r423  
     1                   ==============================
     2                   Release Notes for Samba 3.3.12
     3                            March 8, 2010
     4                   ==============================
     5
     6
     7This is a security release in order to address CVE-2010-0728.
     8
     9
     10o  CVE-2010-0728:
     11   In Samba releases 3.5.0, 3.4.6 and 3.3.11, new code
     12   was added to fix a problem with Linux asynchronous IO handling.
     13   This code introduced a bad security flaw on Linux platforms if the
     14   binaries were built on Linux platforms with libcap support.
     15   The flaw caused all smbd processes to inherit CAP_DAC_OVERRIDE
     16   capabilities, allowing all file system access to be allowed
     17   even when permissions should have denied access.
     18
     19
     20Changes since 3.5.0
     21-------------------
     22
     23
     24o   Jeremy Allison <jra@samba.org>
     25    * BUG 7222: Fix for CVE-2010-0728.
     26
     27
     28######################################################################
     29Reporting bugs & Development Discussion
     30#######################################
     31
     32Please discuss this release on the samba-technical mailing list or by
     33joining the #samba-technical IRC channel on irc.freenode.net.
     34
     35If you do report problems then please try to send high quality
     36feedback. If you don't provide vital information to help us track down
     37the problem then you will probably be ignored.  All bug reports should
     38be filed under the Samba 3.3 product in the project's Bugzilla
     39database (https://bugzilla.samba.org/).
     40
     41
     42======================================================================
     43== Our Code, Our Bugs, Our Responsibility.
     44== The Samba Team
     45======================================================================
     46
     47
     48Release notes for older releases follow:
     49----------------------------------------
     50
    151                   ==============================
    252                   Release Notes for Samba 3.3.11
     
    80130
    81131
    82 Release notes for older releases follow:
    83 ----------------------------------------
     132----------------------------------------------------------------------
     133
    84134
    85135                   ==============================
  • branches/samba-3.3.x/packaging/RHEL-CTDB/samba.spec

    r411 r423  
    66Packager: Samba Team <samba@samba.org>
    77Name:         samba
    8 Version:      3.3.11
     8Version:      3.3.12
    99Release:      ctdb.1
    1010Epoch:        0
  • branches/samba-3.3.x/packaging/RHEL/makerpms.sh

    r411 r423  
    2121USERID=`id -u`
    2222GRPID=`id -g`
    23 VERSION='3.3.11'
     23VERSION='3.3.12'
    2424REVISION=''
    2525SPECFILE="samba.spec"
  • branches/samba-3.3.x/packaging/RHEL/samba.spec

    r411 r423  
    66Packager: Samba Team <samba@samba.org>
    77Name:         samba
    8 Version:      3.3.11
     8Version:      3.3.12
    99Release:      1
    1010Epoch:        0
  • branches/samba-3.3.x/source/VERSION

    r411 r423  
    2626SAMBA_VERSION_MAJOR=3
    2727SAMBA_VERSION_MINOR=3
    28 SAMBA_VERSION_RELEASE=11
     28SAMBA_VERSION_RELEASE=12
    2929
    3030########################################################
  • branches/samba-3.3.x/source/include/smb.h

    r411 r423  
    16851685    KERNEL_OPLOCK_CAPABILITY,
    16861686    DMAPI_ACCESS_CAPABILITY,
    1687     LEASE_CAPABILITY,
    1688     KILL_CAPABILITY
     1687    LEASE_CAPABILITY
    16891688};
    16901689
  • branches/samba-3.3.x/source/lib/system.c

    r411 r423  
    708708#if defined(HAVE_POSIX_CAPABILITIES)
    709709
    710 /* This define hasn't made it into the glibc capabilities header yet. */
    711 #ifndef SECURE_NO_SETUID_FIXUP
    712 #define SECURE_NO_SETUID_FIXUP          2
    713 #endif
    714 
    715710/**************************************************************************
    716711 Try and abstract process capabilities (for systems that have them).
     
    743738#endif
    744739
    745 #if defined(HAVE_PRCTL) && defined(PR_SET_SECUREBITS) && defined(SECURE_NO_SETUID_FIXUP)
    746         /* New way of setting capabilities as "sticky". */
    747 
    748         /*
    749          * Use PR_SET_SECUREBITS to prevent setresuid()
    750          * atomically dropping effective capabilities on
    751          * uid change. Only available in Linux kernels
    752          * 2.6.26 and above.
    753          *
    754          * See here:
    755          * http://www.kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html
    756          * for details.
    757          *
    758          * Specifically the CAP_KILL capability we need
    759          * to allow Linux threads under different euids
    760          * to send signals to each other.
    761          */
    762 
    763         if (prctl(PR_SET_SECUREBITS, 1 << SECURE_NO_SETUID_FIXUP)) {
    764                 DEBUG(0,("set_process_capability: "
    765                         "prctl PR_SET_SECUREBITS failed with error %s\n",
    766                         strerror(errno) ));
    767                 return false;
    768         }
    769 #endif
    770 
    771740        cap = cap_get_proc();
    772741        if (cap == NULL) {
     
    797766#endif
    798767                        break;
    799                 case KILL_CAPABILITY:
    800 #ifdef CAP_KILL
    801                         cap_vals[num_cap_vals++] = CAP_KILL;
    802 #endif
    803                         break;
    804768        }
    805769
     
    811775        }
    812776
    813         /*
    814          * Ensure the capability is effective. We assume that as a root
    815          * process it's always permitted.
    816          */
    817 
    818         if (cap_set_flag(cap, CAP_EFFECTIVE, num_cap_vals, cap_vals,
    819                         enable ? CAP_SET : CAP_CLEAR) == -1) {
    820                 DEBUG(0, ("set_process_capability: cap_set_flag effective "
    821                         "failed (%d): %s\n",
    822                         (int)capability,
    823                         strerror(errno)));
    824                 cap_free(cap);
    825                 return false;
    826         }
     777        cap_set_flag(cap, CAP_EFFECTIVE, num_cap_vals, cap_vals,
     778                enable ? CAP_SET : CAP_CLEAR);
    827779
    828780        /* We never want to pass capabilities down to our children, so make
    829781         * sure they are not inherited.
    830782         */
    831         if (cap_set_flag(cap, CAP_INHERITABLE, num_cap_vals,
    832                         cap_vals, CAP_CLEAR) == -1) {
    833                 DEBUG(0, ("set_process_capability: cap_set_flag inheritable "
    834                         "failed (%d): %s\n",
    835                         (int)capability,
    836                         strerror(errno)));
    837                 cap_free(cap);
    838                 return false;
    839         }
     783        cap_set_flag(cap, CAP_INHERITABLE, num_cap_vals, cap_vals, CAP_CLEAR);
    840784
    841785        if (cap_set_proc(cap) == -1) {
    842                 DEBUG(0, ("set_process_capability: cap_set_flag (%d) failed: %s\n",
    843                         (int)capability,
     786                DEBUG(0, ("set_process_capability: cap_set_proc failed: %s\n",
    844787                        strerror(errno)));
    845788                cap_free(cap);
  • branches/samba-3.3.x/source/smbd/server.c

    r411 r423  
    12481248        gain_root_group_privilege();
    12491249
    1250         /*
    1251          * Ensure we have CAP_KILL capability set on Linux,
    1252          * where we need this to communicate with threads.
    1253          * This is inherited by new threads, but not by new
    1254          * processes across exec().
    1255          */
    1256         set_effective_capability(KILL_CAPABILITY);
    1257 
    12581250        fault_setup((void (*)(void *))exit_server_fault);
    12591251        dump_core_setup("smbd");
Note: See TracChangeset for help on using the changeset viewer.