Bug 7060 - perl-Data-FormValidator missing update for security issue CVE-2011-2201
Summary: perl-Data-FormValidator missing update for security issue CVE-2011-2201
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 1
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL: http://lwn.net/Vulnerabilities/458077/
Whiteboard: has_procedure MGA1-32-OK MGA1-64-OK
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2012-08-14 21:52 CEST by David Walser
Modified: 2012-08-18 12:28 CEST (History)
5 users (show)

See Also:
Source RPM: perl-Data-FormValidator-4.660.0-1.mga1.src.rpm
CVE:
Status comment:


Attachments

Description David Walser 2012-08-14 21:52:23 CEST
Fedora has issued an advisory on August 30, 2011:
http://lists.fedoraproject.org/pipermail/package-announce/2011-September/065416.html

A patch is available from Fedora.
David Walser 2012-08-14 21:52:36 CEST

CC: (none) => jquelin

David Walser 2012-08-15 00:20:49 CEST

Assignee: bugsquad => jquelin

Comment 1 Jerome Quelin 2012-08-16 11:03:35 CEST
perl-Data-FormValidator-4.660.0-1.1.mga1 now available in core/updates_testing for mageia 1.
Jerome Quelin 2012-08-16 11:04:51 CEST

Assignee: jquelin => qa-bugs

Comment 2 Samuel Verschelde 2012-08-16 11:17:34 CEST
Thanks Jerome. Would you have an example of a basic script that uses Data::FormValidator?

CC: (none) => stormi

Comment 3 Jerome Quelin 2012-08-16 11:32:29 CEST
rt ticket on upstream data::formvalidator has this snippet.

================================
#!/usr/bin/perl
use strict;
use warnings;
use Data::FormValidator;
"some_unrelated_string" =~ m/^.*$/;
my $profile = {
    untaint_all_constraints => 1,
    required                => [qw(a)],
    constraint_methods      => { a => qr/will_never_match/, },
};
my $results = Data::FormValidator->check( { a => 1 }, $profile );
warn $results->valid('a');
================================

but since i don't have a mageia 1 box at hand, i don't know what it does before patching.

note however that the patch comes with a test checking that behaviour is changed. i tried the test before applying the patch => failure, when applying the full patch, test is working.
Comment 4 David Walser 2012-08-16 14:40:11 CEST
Thanks Jerome!

Advisory:
========================

Updated perl-Data-FormValidator package fixes security vulnerability:

The Data::FormValidator module 4.66 and earlier for Perl, when
untaint_all_constraints is enabled, does not properly preserve the taint
attribute of data, which might allow remote attackers to bypass the taint
protection mechanism via form input (CVE-2011-2201).

References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2201
http://lists.fedoraproject.org/pipermail/package-announce/2011-September/065416.html
Comment 5 Samuel Verschelde 2012-08-16 18:10:39 CEST
Tested using test script from upstream RT ticket ( https://rt.cpan.org/Public/Bug/Display.html?id=61792#txn-1006168 )

============================
use strict;
use warnings;

use Test::More tests => 3;

use Data::FormValidator;

"unrelated match" =~ /match/;

my $result = Data::FormValidator->check(
 { a => 'invalid value' }, # input data
 { # validation profile
 untaint_all_constraints => 1,
 optional => ['a'],
 constraints => { a => qr/never matches/, },
 },
);

ok( not $result->success )
 or diag( 'Valid: ', $result->valid );
ok( $result->has_invalid );
is_deeply( scalar($result->invalid), { 'a' => [ qr/never matches/ ] } );
=============================

Output with version in release:

[samuel@localhost QA]$ perl test2.pl
1..3
not ok 1
#   Failed test at test2.pl line 19.
# Valid: a
not ok 2
#   Failed test at test2.pl line 21.
not ok 3
#   Failed test at test2.pl line 22.
#     Structures begin differing at:
#          $got->{a} = Does not exist
#     $expected->{a} = ARRAY(0x88b0778)
# Looks like you failed 3 tests of 3.

Output with version in updates_testing:
[samuel@localhost QA]$ perl test2.pl
1..3
ok 1
ok 2
ok 3

Testing complete i586.
Samuel Verschelde 2012-08-16 18:10:57 CEST

Whiteboard: (none) => MGA1TOO has_procedure MGA1-32-OK

Samuel Verschelde 2012-08-16 18:11:21 CEST

Whiteboard: MGA1TOO has_procedure MGA1-32-OK => has_procedure MGA1-32-OK

Comment 6 Dave Hodgins 2012-08-16 19:59:41 CEST
Testing complete on Mageia 1 x86-64.

Could someone from the sysadmin team push the srpm
perl-Data-FormValidator-4.660.0-1.1.mga1.src.rpm
from Mageia 1 Core Updates Testing to Core Updates.

Advisory: Updated perl-Data-FormValidator package fixes security vulnerability:

The Data::FormValidator module 4.66 and earlier for Perl, when
untaint_all_constraints is enabled, does not properly preserve the taint
attribute of data, which might allow remote attackers to bypass the taint
protection mechanism via form input (CVE-2011-2201).

References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2201
http://lists.fedoraproject.org/pipermail/package-announce/2011-September/065416.html

https://bugs.mageia.org/show_bug.cgi?id=7060

Keywords: (none) => validated_update
CC: (none) => davidwhodgins, sysadmin-bugs
Whiteboard: has_procedure MGA1-32-OK => has_procedure MGA1-32-OK MGA1-64-OK

Comment 7 Thomas Backlund 2012-08-18 12:28:40 CEST
Update pushed:
https://wiki.mageia.org/en/Support/Advisories/MGASA-2012-0225

Status: NEW => RESOLVED
CC: (none) => tmb
Resolution: (none) => FIXED


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