Bug 801343 (CVE-2012-1104)

Summary: CVE-2012-1104 php-pear-CAS: Improper management of service proxying
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: fedora, gwync
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: 2015-08-22 15:37:03 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: 801349, 801350    
Bug Blocks:    

Description Jan Lieskovsky 2012-03-08 10:40:36 UTC
A security flaw was found in the way phpCAS managed proxying of services. In the detault configuration an phpCAS protected application allowed to proxy any other CAS service with proxy authorization and valid user credentials in the same SSO realm to other phpCAS applications. The application, CAS services has been proxied to, could use this flaw to in unauthorized way to use these CAS services.

Upstream bug report:
[1] https://issues.jasig.org/browse/PHPCAS-69

CVE request and assignment:
[2] http://www.openwall.com/lists/oss-security/2012/03/04/7
[3] http://seclists.org/oss-sec/2012/q1/551

Upstream patch (against trunk):
[4] https://github.com/Jasig/phpCAS/commit/717009a6529d7c7ad968544a5fff4a40a21137a6

Comment 1 Jan Lieskovsky 2012-03-08 10:43:33 UTC
This issue affects the versions of the php-pear-CAS package, as shipped with Fedora release of 15 and 16. Please schedule an update.

--

This issue affects the versions of the php-pear-CAS package, as shipped with Fedora EPEL 5 and Fedora EPEL 6. Please schedule an update.

Comment 2 Jan Lieskovsky 2012-03-08 10:45:06 UTC
Created php-pear-CAS tracking bugs for this issue

Affects: fedora-all [bug 801349]
Affects: epel-all [bug 801350]

Comment 3 Jan Lieskovsky 2012-03-08 10:57:46 UTC
For version of php-pear-CAS package, as shipped in Fedora EPEL 5 (php-pear-CAS-1.1.3-1.el5) the code is slightly different, but parts from particular upstream patch [4] seems to be applicable to this version too. For example the source/CAS/Client.php change:

@@ -764,40 +767,15 @@ public function __construct(
     } else {
       //normal mode: get ticket and remove it from CGI parameters for developpers
       $ticket = (isset($_GET['ticket']) ? $_GET['ticket'] : null);
-      switch ($this->getServerVersion()) {

can be found in BUILD/php-pear-CAS-1.1.3/CAS-1.1.3/CAS/client.php CASClient constructor code:

    571          * @return a newly created CASClient object
    572          *
    573          * @public
    574          */
    575         function CASClient(
    576                                            $server_version,
    [..]
    659                 } else {
    660    //normal mode: get ticket and remove it from CGI parameters for developpers
    661                    $ticket = (isset($_GET['ticket']) ? $_GET['ticket'] : null);
    662                    switch ($this->getServerVersion()) {
    663                          case CAS_VERSION_1_0: // check for a Service Ticket

etc. Though it might be easier to rebase Fedora EPEL 5 version to recent upstream one, than backport relevant patch.

Comment 4 Jan Lieskovsky 2012-03-08 11:07:09 UTC
Also, the versions of the glpi package, as shipped with Fedora release of 15, 16, Fedora EPEL 5 and EPEL 6 use system version of php-pear-CAS library:

* Thu May 20 2010 Remi Collet <Fedora> - 0.72.4-3.svn11497
- use system phpCAS instead of bundled copy
- minor bug fixes from SVN

and thus are not affected by this issue once the deficiency in php-pear-CAS package has got addressed.

Comment 5 Jan Lieskovsky 2012-03-08 11:16:24 UTC
The versions of the moodle package, as shipped with Fedora release of 15, 16, Fedora EPEL 5 and EPEL 6 are also using system version of the php-pear-CAS package:

EPEL-5 case:
* Fri Aug 20 2010 Jon Ciesla <limb> - 1.8.13-2
- Switch to system php-pear-CAS, BZ 577467, 620772.

F-16 case:
* Thu Aug 19 2010 Jon Ciesla <limb> - 1.9.9-2
- Switch to system php-pear-CAS, BZ 577467, 620772.
- Patching htmlpurifier, BZ 624754.

and as such are not vulnerable to this issue, once this flaw has been corrected in php-pear-CAS package.

Comment 6 Fedora Update System 2012-03-31 03:06:54 UTC
php-pear-CAS-1.3.0-2.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2012-03-31 03:11:18 UTC
php-pear-CAS-1.3.0-2.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2012-03-31 18:26:19 UTC
php-pear-CAS-1.3.0-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 9 Fedora Update System 2012-03-31 18:26:45 UTC
php-pear-CAS-1.3.0-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 10 Fedora Update System 2012-04-12 02:13:22 UTC
php-pear-CAS-1.3.0-2.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.