Bug 1000215 (CVE-2013-4279) - CVE-2013-4279 imapsync default version check with http://imapsync.lamiral.info information leakage
Summary: CVE-2013-4279 imapsync default version check with http://imapsync.lamiral.inf...
Status: CLOSED ERRATA
Alias: CVE-2013-4279
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: impact=moderate,public=20140116,repor...
Keywords: Security
Depends On: 1054619 1054620
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-23 01:08 UTC by Kurt Seifried
Modified: 2019-06-08 19:41 UTC (History)
2 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2014-03-23 02:50:34 UTC


Attachments (Terms of Use)

Description Kurt Seifried 2013-08-23 01:08:07 UTC
Kurt Seifried (kseifried@redhat.com) 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


Note You need to log in before you can comment on or make changes to this bug.