Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 49105 Details for
Bug 78941
app-text/sword: diatheke.pl Shell Command Injection Vulnerability
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
sword-1.5.8-diatheke.patch
sword-1.5.8-diatheke.patch (text/plain), 2.21 KB, created by
Luke Macken (RETIRED)
on 2005-01-21 06:01:13 UTC
(
hide
)
Description:
sword-1.5.8-diatheke.patch
Filename:
MIME Type:
Creator:
Luke Macken (RETIRED)
Created:
2005-01-21 06:01:13 UTC
Size:
2.21 KB
patch
obsolete
>--- sword-1.5.8_pre1/utilities/diatheke/cgi/diatheke.pl.orig 2002-10-10 18:50:17.000000000 -0400 >+++ sword-1.5.8_pre1/utilities/diatheke/cgi/diatheke.pl 2005-01-21 08:36:52.149858392 -0500 >@@ -25,11 +25,26 @@ > > $version = "4.2"; > >+sub shell_escape { >+ my $input = shift; >+ my $result = ''; >+ >+ foreach my $i (split //, $input) { >+ if ($i eq "'") { >+ $result .= "'\\''"; >+ } else { >+ $result .= $i; >+ } >+ } >+ return $result; >+} >+ > sub plussifyaddress { > ($p_ver = @_[0]) =~ tr/ /+/; > $p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">"; > return $p_newline; > } >+$locale = shell_escape($locale); > > sub urlvers { > $u_verse = @_[0]; >@@ -85,9 +100,10 @@ > $verse = $mydata; > $verse =~ tr/+/ /; > $verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; >+ $verse = shell_escape($verse); > } > elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") { >- $search = "-s $mydata"; >+ $search = "-s '" . shell_escape($mydata) . "'"; > } > elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") { > $range = $mydata; >@@ -141,13 +157,13 @@ > $debug = 1; > } > elsif ($varname eq "locale") { >- $locale = $mydata; >+ $locale = shell_escape($mydata); > } > elsif ($varname eq "maxverses") { >- $maxverses = $mydata; >+ $maxverses = shell_escape($mydata); > } > elsif ($mydata eq "on" || $mydata eq "ON") { >- $versions[$n] = $varname; >+ $versions[$n] = shell_escape($varname); > $n++; > } > } >@@ -431,7 +447,7 @@ > } > for ($i = 0; $i < $n; $i++) { > >- $line = "$diatheke $search $range $optionfilters $latinxlit -l $locale -m $maxverses -f cgi -b $versions[$i] -k \"$verse\" $err"; >+ $line = "$diatheke $search $range $optionfilters $latinxlit -l '$locale' -m '$maxverses' -f cgi -b '$versions[$i]' -k '$verse' $err"; > > if ($debug) { > print "<br /><i>command line: $line\n</i><br /><br />"; >@@ -444,7 +460,7 @@ > > # Parse and link to Strong's references if present > >- $info = `$diatheke -b info -k $versions[$i] $err`; >+ $info = `$diatheke -b info -k '$versions[$i]' $err`; > $info =~ /([^\;]+)\;([^\;]+)/; > $format = $1; > $type = $2;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 78941
: 49105