Bug 1000215 (CVE-2013-4279)

Summary: CVE-2013-4279 imapsync default version check with http://imapsync.lamiral.info information leakage
Product: [Other] Security Response Reporter: Kurt Seifried <kseifried>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: nb, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-23 02:50:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1054619, 1054620    
Bug Blocks:    

Description Kurt Seifried 2013-08-23 01:08:07 UTC
Kurt Seifried (kseifried) reports:

Title: imapsync default version check with http://imapsync.lamiral.info information leakage (CVE-2013-4278)

Threat: Availability: no timeout so an attacker simply sends a slow response
Threat: Confidentiality: connects to http://imapsync.lamiral.info and sends version # and operating system name and person version

Impact: Moderate (Medium)
CVSS2: 5.8/AV:N/AC:M/Au:N/C:P/I:N/A:P

Affected: imapsync version 1.564 and earlier on all supported platforms

Description: By default imapsync runs a "release check" when executed, this causes imapsync to connect to http://imapsync.lamiral.info and send information about the version of imapsync, the operating system and perl.

This feature is not well documented. It is enabled by default. The only hint it exists is the "--noreleasecheck" which is not documented anywhere other then running the program with the help option. 

Affected code:

sub imapsync_version_public {
    my $local_version = imapsync_version();
    my $imapsync_basename = imapsync_basename();
    my $agent_info = "$OSNAME system, perl "
       . sprintf("%vd", $PERL_VERSION)
        . ", Mail::IMAPClient $Mail::IMAPClient::VERSION"
        . " $imapsync_basename";
    my $sock = IO::Socket::INET->new(
        PeerAddr => 'imapsync.lamiral.info',
        PeerPort => '80',
		 Proto => 'tcp'
        ) ;
	return( 'unknown' ) if not $sock ;
    print $sock
        "GET /prj/imapsync/VERSION HTTP/1.0\n",
        "User-Agent: imapsync/$local_version ($agent_info)\n",
        "Host: ks.lamiral.info\n\n";
    my @line = <$sock>;
    close($sock);
    my $last_release = $line[-1];
    chomp($last_release);
    return($last_release);
}

Suggested solution:

1) $releasecheck should be changed to default to 0 (False) and convert --noreleasecheck to --releasecheck
2) this feature should use HTTPS to prevent information leakage to attackers
3) or disable this feature entirely

Comment 1 Kurt Seifried 2014-01-17 06:25:58 UTC
Created imapsync tracking bugs for this issue:

Affects: fedora-all [bug 1054619]

Comment 2 Kurt Seifried 2014-01-17 06:26:38 UTC
Created imapsync tracking bugs for this issue:

Affects: epel-all [bug 1054620]

Comment 3 Fedora Update System 2014-03-10 06:52:33 UTC
imapsync-1.584-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 4 Fedora Update System 2014-03-21 22:30:44 UTC
imapsync-1.584-2.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 5 Fedora Update System 2014-03-21 22:34:12 UTC
imapsync-1.584-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Nick Bebout 2014-03-23 02:50:34 UTC
I have pushed a patch to the Fedora and EPEL packages which disable the releasecheck