blob: 023ad596c1c34283f97a59265af6512ec8193910 [file] [log] [blame]
Title: Patching CVE-2018-11772, CVE-2018-11773, and CVE-2018-11774
Notice: Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
Please see the [security page](/security.html) for more information about these patches.
## Downloading
Patches for Apache VCL versions 2.2.2, 2.3, 2.3.1, 2.3.2, 2.4.2, and 2.5 are all available in a
single archive for all three of CVE-2018-11772, CVE-2018-11773, and CVE-2018-11774.
* [CVE-2018-11772.tar.bz2](https://www.apache.org/dist/vcl/patches/CVE-2018-11772/CVE-2018-11772.tar.bz2)
[ [GPG](https://www.apache.org/dist/vcl/patches/CVE-2018-11772/CVE-2018-11772.tar.bz2.asc) ]
[ [SHA512](https://www.apache.org/dist/vcl/patches/CVE-2018-11772/CVE-2018-11772.tar.bz2.sha512) ]
(published on 2019-07-29)
## Applying Patches
The patches are only for the web code and therefore only need to be applied to
that portion of the code. To apply the patches, download the archive to the web
server running your VCL code. Extract it under /tmp. It will generate a
directory named CVE-2018-11772 (though it patches all 3 CVEs) with
subdirectories for each VCL version under that. Then, cd to where your web
code is (probably something like /var/www/html/vcl). You should be in the
directory containing index.php, .ht-inc, and js. Four files will be patched.
So, you'll probably want to make backup copies of them before patching:
:::Text
.ht-inc/blockallocations.php
.ht-inc/privileges.php
.ht-inc/vm.php
js/vm.js
You can see what version of VCL you have by running
:::Text
grep VCLversion index.php
Finally, while still in the directory containing index.php, apply the patches
for your version using a command similar to the following, substituting the
proper version number.
:::Text
patch -p1 < /tmp/CVE-2018-11772/2.5/VCL-2.5-CVE-2018.patch
You should see output similar to
:::Text
patching file .ht-inc/blockallocations.php
patching file .ht-inc/privileges.php
patching file .ht-inc/vm.php
patching file js/vm.js
Patches to php files will take effect immediately - there is no need to
restart httpd. The patched vm.js file will take effect when users' browsers
reload it. There is no problem in having a delay in vm.js getting updated in
users' browsers as it only affects an error message displayed to users if they
attempt to submit invalid data.