CSteipp has submitted this change and it was merged.

Change subject: Disable external entities in Import
......................................................................


Disable external entities in Import

Temporarily disable loading entities in XMLReader when calling read()
during import.

bug: 47251

Change-Id: I0b39386e6cf4ec0244aab8ebc4095922511e2964
---
M includes/Import.php
1 file changed, 7 insertions(+), 0 deletions(-)

Approvals:
  CSteipp: Verified; Looks good to me, approved



diff --git a/includes/Import.php b/includes/Import.php
index 03a1cfe..0e12e6d 100644
--- a/includes/Import.php
+++ b/includes/Import.php
@@ -441,9 +441,15 @@
         * @return bool
         */
        public function doImport() {
+
+               // Calls to reader->read need to be wrapped in calls to
+               // libxml_disable_entity_loader() to avoid local file
+               // inclusion attacks (bug 46932).
+               $oldDisable = libxml_disable_entity_loader( true );
                $this->reader->read();
 
                if ( $this->reader->name != 'mediawiki' ) {
+                       libxml_disable_entity_loader( $oldDisable );
                        throw new MWException( "Expected <mediawiki> tag, got " 
.
                                $this->reader->name );
                }
@@ -482,6 +488,7 @@
                        }
                }
 
+               libxml_disable_entity_loader( $oldDisable );
                return true;
        }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/59202
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0b39386e6cf4ec0244aab8ebc4095922511e2964
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: CSteipp <[email protected]>
Gerrit-Reviewer: CSteipp <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to