Changeset 774


Ignore:
Timestamp:
Jul 2, 2013, 8:03:46 PM (12 years ago)
Author:
Herwig Bauernfeind
Message:

Samba Server 3.5: Update branch to 3.5.21

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

Legend:

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

    r773 r774  
     1                   ==============================
     2                   Release Notes for Samba 3.5.21
     3                         January 30, 2013
     4                   ==============================
     5
     6
     7This is a security release in order to address
     8CVE-2013-0213 (Clickjacking issue in SWAT) and
     9CVE-2013-0214 (Potential XSRF in SWAT).
     10
     11o  CVE-2013-0213:
     12   All current released versions of Samba are vulnerable to clickjacking in the
     13   Samba Web Administration Tool (SWAT). When the SWAT pages are integrated into
     14   a malicious web page via a frame or iframe and then overlaid by other content,
     15   an attacker could trick an administrator to potentially change Samba settings.
     16
     17   In order to be vulnerable, SWAT must have been installed and enabled
     18   either as a standalone server launched from inetd or xinetd, or as a
     19   CGI plugin to Apache. If SWAT has not been installed or enabled (which
     20   is the default install state for Samba) this advisory can be ignored.
     21
     22o  CVE-2013-0214:
     23   All current released versions of Samba are vulnerable to a cross-site
     24   request forgery in the Samba Web Administration Tool (SWAT). By guessing a
     25   user's password and then tricking a user who is authenticated with SWAT into
     26   clicking a manipulated URL on a different web page, it is possible to manipulate
     27   SWAT.
     28
     29   In order to be vulnerable, the attacker needs to know the victim's password.
     30   Additionally SWAT must have been installed and enabled either as a standalone
     31   server launched from inetd or xinetd, or as a CGI plugin to Apache. If SWAT has
     32   not been installed or enabled (which is the default install state for Samba)
     33   this advisory can be ignored.
     34
     35
     36Changes since 3.5.20:
     37---------------------
     38
     39o   Kai Blin <kai@samba.org>
     40    * BUG 9576: CVE-2013-0213: Fix clickjacking issue in SWAT.
     41    * BUG 9577: CVE-2013-0214: Fix potential XSRF in SWAT.
     42
     43
     44######################################################################
     45Reporting bugs & Development Discussion
     46#######################################
     47
     48Please discuss this release on the samba-technical mailing list or by
     49joining the #samba-technical IRC channel on irc.freenode.net.
     50
     51If you do report problems then please try to send high quality
     52feedback. If you don't provide vital information to help us track down
     53the problem then you will probably be ignored.  All bug reports should
     54be filed under the Samba 3.5 product in the project's Bugzilla
     55database (https://bugzilla.samba.org/).
     56
     57
     58======================================================================
     59== Our Code, Our Bugs, Our Responsibility.
     60== The Samba Team
     61======================================================================
     62
     63
     64Release notes for older releases follow:
     65----------------------------------------
     66
    167                   ==============================
    268                   Release Notes for Samba 3.5.20
     
    52118
    53119
    54 Release notes for older releases follow:
    55 ----------------------------------------
     120----------------------------------------------------------------------
     121
    56122
    57123                   ==============================
  • branches/samba-3.5.x/packaging/RHEL-CTDB/samba.spec

    r773 r774  
    66Packager: Samba Team <samba@samba.org>
    77Name:         samba
    8 Version:      3.5.20
     8Version:      3.5.21
    99Release:      1GITHASH
    1010Epoch:        0
  • branches/samba-3.5.x/packaging/RHEL/makerpms.sh

    r773 r774  
    2121USERID=`id -u`
    2222GRPID=`id -g`
    23 VERSION='3.5.20'
     23VERSION='3.5.21'
    2424REVISION=''
    2525SPECFILE="samba.spec"
  • branches/samba-3.5.x/packaging/RHEL/samba.spec

    r773 r774  
    1212Packager: Samba Team <samba@samba.org>
    1313Name:         samba
    14 Version:      3.5.20
     14Version:      3.5.21
    1515Release:      1
    1616Epoch:        0
  • branches/samba-3.5.x/source3/VERSION

    r773 r774  
    2626SAMBA_VERSION_MAJOR=3
    2727SAMBA_VERSION_MINOR=5
    28 SAMBA_VERSION_RELEASE=20
     28SAMBA_VERSION_RELEASE=21
    2929
    3030########################################################
  • branches/samba-3.5.x/source3/web/cgi.c

    r617 r774  
    4646static char *C_user;
    4747static char *C_pass;
     48static char *C_nonce;
    4849static bool inetd_server;
    4950static bool got_request;
     
    329330
    330331        if (!setuid(0)) {
    331                 C_pass = secrets_fetch_generic("root", "SWAT");
    332                 if (C_pass == NULL) {
    333                         char *tmp_pass = NULL;
    334                         tmp_pass = generate_random_str(talloc_tos(), 16);
    335                         if (tmp_pass == NULL) {
    336                                 printf("%sFailed to create random nonce for "
    337                                        "SWAT session\n<br>%s\n", head, tail);
    338                                 exit(0);
    339                         }
    340                         secrets_store_generic("root", "SWAT", tmp_pass);
    341                         C_pass = SMB_STRDUP(tmp_pass);
    342                         TALLOC_FREE(tmp_pass);
    343                 }
     332                C_pass = SMB_STRDUP(cgi_nonce());
    344333        }
    345334        setuid(pwd->pw_uid);
     
    453442        return(C_pass);
    454443}
     444
     445/***************************************************************************
     446return a ptr to the nonce
     447  ***************************************************************************/
     448char *cgi_nonce(void)
     449{
     450        const char *head = "Content-Type: text/html\r\n\r\n<HTML><BODY><H1>SWAT installation Error</H1>\n";
     451        const char *tail = "</BODY></HTML>\r\n";
     452        C_nonce = secrets_fetch_generic("root", "SWAT");
     453        if (C_nonce == NULL) {
     454                char *tmp_pass = NULL;
     455                tmp_pass = generate_random_str(talloc_tos(), 16);
     456                if (tmp_pass == NULL) {
     457                        printf("%sFailed to create random nonce for "
     458                               "SWAT session\n<br>%s\n", head, tail);
     459                        exit(0);
     460                }
     461                secrets_store_generic("root", "SWAT", tmp_pass);
     462                C_nonce = SMB_STRDUP(tmp_pass);
     463                TALLOC_FREE(tmp_pass);
     464        }
     465        return(C_nonce);
     466}
     467
    455468
    456469/***************************************************************************
  • branches/samba-3.5.x/source3/web/swat.c

    r732 r774  
    149149        uint8_t token[16];
    150150        int i;
     151        char *nonce = cgi_nonce();
    151152
    152153        token_str[0] = '\0';
     
    162163                MD5Update(&md5_ctx, (uint8_t *)pass, strlen(pass));
    163164        }
     165        MD5Update(&md5_ctx, (uint8_t *)nonce, strlen(nonce));
    164166
    165167        MD5Final(token, &md5_ctx);
     
    261263                printf("Expires: 0\r\n");
    262264        }
    263         printf("Content-type: text/html\r\n\r\n");
     265        printf("Content-type: text/html\r\n");
     266        printf("X-Frame-Options: DENY\r\n\r\n");
    264267
    265268        if (!include_html("include/header.html")) {
  • branches/samba-3.5.x/source3/web/swat_proto.h

    r617 r774  
    3333char *cgi_user_name(void);
    3434char *cgi_user_pass(void);
     35char *cgi_nonce(void);
    3536void cgi_setup(const char *rootdir, int auth_required);
    3637const char *cgi_baseurl(void);
Note: See TracChangeset for help on using the changeset viewer.