From 025a1bfbe69622036f8e3a27a6edd39c02dcd4ea Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Tue, 24 Aug 2010 12:34:57 -0600 Subject: [PATCH] Bug #9011: Fix XSS slusarz 2010-08-24 18:31:34 UTC Modified files: (Branch: FRAMEWORK_3) docs CHANGES . view.php Log: Bug: 9191 Submitted by: nightmare.lmw@anarchynet.org Fix CSS vulnerability when viewing file data. Revision Changes Path 1.114.2.58 +2 -0 gollem/docs/CHANGES 1.51.2.7 +3 -5 gollem/view.php --- gollem/docs/CHANGES | 2 ++ gollem/view.php | 21 ++++++++------------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/gollem/docs/CHANGES b/gollem/docs/CHANGES index a79d2e577..5dbc782dd 100644 --- a/gollem/docs/CHANGES +++ b/gollem/docs/CHANGES @@ -10,6 +10,8 @@ v1.1.2-cvs ---------- [jan] Add Japanese translation (Hiromi Kimura ). +[mms] SECURITY: Fix CSS vulnerability when viewing file data (found by + nightmare.lmw@anarchynet.org). ------ diff --git a/gollem/view.php b/gollem/view.php index 75f6098ba..38bc9f0f1 100644 --- a/gollem/view.php +++ b/gollem/view.php @@ -30,20 +30,15 @@ if ($driver != $GLOBALS['gollem_be']['driver']) { $stream = null; $data = ''; -if (is_callable(array($GLOBALS['gollem_vfs'], 'readStream'))) { - $stream = $GLOBALS['gollem_vfs']->readStream($filedir, $filename); - if (is_a($stream, 'PEAR_Error')) { - Horde::logMessage($stream, 'NOTICE'); - printf(_("Access denied to %s"), $filename); - exit; - } -} else { - $data = $GLOBALS['gollem_vfs']->read($filedir, $filename); - if (is_a($data, 'PEAR_Error')) { - Horde::logMessage($data, 'NOTICE'); - printf(_("Access denied to %s"), $filename); - exit; +try { + if (is_callable(array($gollem_vfs, 'readStream'))) { + $stream = $gollem_vfs->readStream($filedir, $filename); + } else { + $data = $gollem_vfs->read($filedir, $filename); } +} catch (VFS_Exception $e) { + Horde::logMessage($e, 'NOTICE'); + throw $e; } /* Run through action handlers. */ -- 2.11.0