accept no compromises

Vanilla Forums 2.0.18.5 Local File Inclusion

Vanilla Forums 2.0.18.5 Local File Inclusion
Posted Oct 7, 2013
Authored by EgiX

Vanilla Forums versions 2.0.18.5 and below suffer from a PHP object injection vulnerability in class.utilitycontroller.php that in turn allows for local file inclusion.

tags | exploit, local, php, file inclusion
advisories | CVE-2013-3528
MD5 | 8ca4ff041c8771d6f49da028be9cdc5e

Vanilla Forums 2.0.18.5 Local File Inclusion

Change Mirror Download
-------------------------------------------------------------------------------------------
Vanilla Forums <= 2.0.18.5 (class.utilitycontroller.php) PHP Object
Injection Vulnerability
-------------------------------------------------------------------------------------------


[-] Software Link:

http://vanillaforums.org/


[-] Affected Versions:

All versions from 2.0 to 2.0.18.5.


[-] Vulnerability Description:

The vulnerable code is located in
/applications/dashboard/controllers/class.utilitycontroller.php:

316. // Get the message, response, and transientkey
317. $Messages = TrueStripSlashes(GetValue('Messages', $_POST));
318. $Response = TrueStripSlashes(GetValue('Response', $_POST));
319. $TransientKey = GetIncomingValue('TransientKey', '');
320.
321. // If the key validates
322. $Session = Gdn::Session();
323. if ($Session->ValidateTransientKey($TransientKey)) {
324. // If messages wasn't empty
325. if ($Messages != '') {
326. // Unserialize them & save them if necessary
327. $Messages = Gdn_Format::Unserialize($Messages);

[...]

358. // If the response wasn't empty, save it in the config
359. if ($Response != '')
360. $Save['Garden.RequiredUpdates'] =
Gdn_Format::Unserialize($Response);

User input passed through the "Messages" and "Response" POST parameters
is not properly sanitized
before being used in a call to the "Gdn_Format::Unserialize" method at
lines 327 and 360. This can
be exploited to inject arbitrary PHP objects into the application scope,
that could allow an attacker
to conduct Local File Inclusion attacks by abusing the
"Gdn_Module::__toString" method, which triggers
a call to the "Gdn_Module::FetchView" method:

111. public function FetchView() {
112. $ViewPath = $this->FetchViewLocation();
113. $String = '';
114. ob_start();
115. if(is_object($this->_Sender) && isset($this->_Sender->Data)) {
116. $Data = $this->_Sender->Data;
117. } else {
118. $Data = array();
119. }
120. include ($ViewPath);

The value returned by the "Gdn_Module::FetchViewLocation" method at line
112 can be controlled by the
"_ApplicationFolder" object's property, which results in an arbitrary
local file inclusion at line 120.
Successful exploitation of the vulnerability using this vector requires
the application running on
PHP < 5.3.4, because it needs a null-byte injection attack. However,
other attack vectors might
be possible, e.g. leveraging magic methods of classes defined in
third-party components.


[-] Solution:

Update to version 2.0.18.6 or higher.


[-] Disclosure Timeline:

[02/03/2013] - Vendor notified
[22/03/2013] - Version 2.0.18.6 released: http://git.io/7EXdpQ
[10/05/2013] - CVE number assigned
[07/10/2013] - Public disclosure


[-] CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2013-3528 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

http://karmainsecurity.com/KIS-2013-09

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

February 2015

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Feb 1st
    2 Files
  • 2
    Feb 2nd
    17 Files
  • 3
    Feb 3rd
    15 Files
  • 4
    Feb 4th
    16 Files
  • 5
    Feb 5th
    14 Files
  • 6
    Feb 6th
    4 Files
  • 7
    Feb 7th
    0 Files
  • 8
    Feb 8th
    0 Files
  • 9
    Feb 9th
    0 Files
  • 10
    Feb 10th
    0 Files
  • 11
    Feb 11th
    0 Files
  • 12
    Feb 12th
    0 Files
  • 13
    Feb 13th
    0 Files
  • 14
    Feb 14th
    0 Files
  • 15
    Feb 15th
    0 Files
  • 16
    Feb 16th
    0 Files
  • 17
    Feb 17th
    0 Files
  • 18
    Feb 18th
    0 Files
  • 19
    Feb 19th
    0 Files
  • 20
    Feb 20th
    0 Files
  • 21
    Feb 21st
    0 Files
  • 22
    Feb 22nd
    0 Files
  • 23
    Feb 23rd
    0 Files
  • 24
    Feb 24th
    0 Files
  • 25
    Feb 25th
    0 Files
  • 26
    Feb 26th
    0 Files
  • 27
    Feb 27th
    0 Files
  • 28
    Feb 28th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2015 Packet Storm. All rights reserved.

close