summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2009-09-11 18:10:13 +0200
committermkanat%bugzilla.org <>2009-09-11 18:10:13 +0200
commit7380ea9ae11764633a4b6e64850da2d84b2aaeb2 (patch)
treeab2e70e86df3d8ed53a09032777e6168d674cc6c /Bugzilla/WebService
parent7fda8c351dd6c9621d85c9b29c5c6baa2f1eaba3 (diff)
downloadbugzilla-7380ea9ae11764633a4b6e64850da2d84b2aaeb2.tar.gz
bugzilla-7380ea9ae11764633a4b6e64850da2d84b2aaeb2.tar.xz
Bug 515191: [SECURITY] SQL Injection via Bug.search (CVE-2009-3125) and Bug.create (CVE-2009-3165)
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=mkanat
Diffstat (limited to 'Bugzilla/WebService')
-rw-r--r--Bugzilla/WebService/Bug.pm1
-rw-r--r--Bugzilla/WebService/Constants.pm2
2 files changed, 3 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index c6d620976..44382e79f 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -258,6 +258,7 @@ sub search {
}
$params = _map_fields($params);
+ delete $params->{WHERE};
# Do special search types for certain fields.
if ( my $bug_when = delete $params->{delta_ts} ) {
diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm
index bdfe24f0a..7fd7e2ae8 100644
--- a/Bugzilla/WebService/Constants.pm
+++ b/Bugzilla/WebService/Constants.pm
@@ -53,7 +53,9 @@ use constant WS_ERROR_CODE => {
param_required => 50,
params_required => 50,
object_does_not_exist => 51,
+ param_must_be_numeric => 52,
xmlrpc_invalid_value => 52,
+ param_invalid => 53,
# Bug errors usually occupy the 100-200 range.
improper_bug_id_field_value => 100,
bug_id_does_not_exist => 101,