https://bugs.koozali.org/show_bug.cgi?id=12108

            Bug ID: 12108
           Summary: untainting
    Classification: Contribs
           Product: SME Contribs
           Version: 10.0
          Hardware: ---
                OS: ---
            Status: CONFIRMED
          Severity: normal
          Priority: P3
         Component: smeserver-mailalias
          Assignee: [email protected]
          Reporter: [email protected]
        QA Contact: [email protected]
                CC: [email protected], [email protected]
        Depends on: 11757, 11716
            Blocks: 12105, 12106, 12107
  Target Milestone: ---
             Group: security

needs to be adapted to the situation /string we need

see https://perldoc.perl.org/perlunicode

/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailalias.pm:    
sub performCreateMailalias  {
    my $fm = shift;
    my $q = $fm->{'cgi'};
    my $email = uri_unescape($q->param ('email'));
    my $domain = uri_unescape($q->param ('domain'));
    my $mailalias = uri_unescape($q->param('mailalias'));
    my $msg = "OK";

    $accounts->new_record($mailalias, { type => 'mailalias',
                                        domain => $domain,
                                     email => $email} )
        or $msg = "Error occurred while creating mailalias in database.";

    # Untaint $pseudonym before use in system()
    ($mailalias) = ($mailalias =~ /(.+)/);

not verified !



sub performModifyMailalias {
    my $fm = shift;
    my $q = $fm->{'cgi'};
    my $msg = "OK";

    my $mailalias = uri_unescape($q->param ('mailalias'));
    my $domain = uri_unescape($q->param ('domain'));
    my $email = uri_unescape($q->param ('email'));
    my $internal = $q->param ('internal') || 'NO';
    my $removable = $accounts->get($mailalias)->prop('Removable') || 'yes';

    my @props = ('domain', $domain , 'email',"$email");

    if ($removable eq 'yes') {
        if ($internal eq "YES")
{$accounts->get($mailalias)->set_prop('Visible','internal'); }
        else { $accounts->get($mailalias)->delete_prop('Visible'); }
    }

    $accounts->get($mailalias)->set_prop('email',"$email")
        or $msg = "Error occurred while modifying mailalias in database.";
    $accounts->get($mailalias)->set_prop('domain', $domain)
        or $msg = "Error occurred while modifying mailalias in database.";

    # Untaint $mailalias before use in system()
    ($mailalias) = ($mailalias =~ /(.+)/);

not verified !!

sub performRemoveMailalias {
    my $fm = shift;
    my $q = $fm->{'cgi'};
    my $msg = "OK";

    my $mailalias = uri_unescape($q->param('mailalias'));

    unless($fm->validate_is_mailalias($mailalias) eq 'OK') {
        $fm->{cgi}->param( -name => 'wherenext', -value => 'InvalidMailalias'
);
        return '';
    }

    #------------------------------------------------------------
    # Make the mailalias inactive, signal mailalias-delete event
    # and then delete it
    #------------------------------------------------------------

    # Untaint $mailalias before use in system()
    ($mailalias) = ($mailalias =~ /(.+)/);
    system( "/sbin/e-smith/signal-event", "mailalias-delete", "$mailalias",)
        == 0 or $msg = "Error occurred while deleting mailalias.";



/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailalias.pm:   
($mailalias) = ($mailalias =~ /(.+)/);

not verified !!

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
_______________________________________________
Mail for each SME Contribs bug report
To unsubscribe, e-mail [email protected]
Searchable archive at https://lists.contribs.org/mailman/public/contribteam/

Reply via email to