[Pkg-nagios-devel] Bug#1106692: unblock: nagvis/1:1.9.47-1

Bas Couwenberg sebastic at xs4all.nl
Wed May 28 04:42:16 BST 2025


Package: release.debian.org
Severity: normal
X-Debbugs-Cc: nagvis at packages.debian.org
Control: affects -1 + src:nagvis
User: release.debian.org at packages.debian.org
Usertags: unblock

Please unblock package nagvis

The CVEs fixed in 1.9.47 were not marked no-dsa as I had expected.

[ Reason ]
The security team filed #1106686 to get the CVE fixes into trixie.

[ Impact ]
Unfixed security issues.

[ Tests ]
None

[ Risks ]
Low, has few users.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
N/A

unblock nagvis/1:1.9.47-1

Kind Regards,

Bas
-------------- next part --------------
diff -Nru nagvis-1.9.46/ChangeLog nagvis-1.9.47/ChangeLog
--- nagvis-1.9.46/ChangeLog	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/ChangeLog	2025-05-23 08:56:15.000000000 +0200
@@ -1,3 +1,10 @@
+1.9.47
+  * FIX: Don't show complete backtrace if crashing. Now the backtrace is being logged to the apache error log
+  * FIX: Fix potential XSS via WYSIWYG editor. Now the option to edit these such elements is moved to a specific
+   permission and only administrators can use this editor per default. (CVE-2024-47090)
+  * FIX: Fix possible livestatus injection via dynmaps (CVE-2024-38866) (#398 Thanks to Shortfinga)
+   (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:L)
+
 1.9.46
   * Feature: add option to verify session cookie via curl. Before when having allow_url_fopen
     disabled, NagVis was not able to verify the session cookie. Now you can use curl to verify
diff -Nru nagvis-1.9.46/debian/changelog nagvis-1.9.47/debian/changelog
--- nagvis-1.9.46/debian/changelog	2025-04-05 13:34:03.000000000 +0200
+++ nagvis-1.9.47/debian/changelog	2025-05-28 05:34:26.000000000 +0200
@@ -1,3 +1,19 @@
+nagvis (1:1.9.47-1) unstable; urgency=medium
+
+  * Team upload.
+  * Move from experimental to unstable.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Wed, 28 May 2025 05:34:26 +0200
+
+nagvis (1:1.9.47-1~exp1) experimental; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+    Fixes: CVE-2024-38866 & CVE-2024-47090.
+  * Add Catalan debconf translation by Carles Pina i Estany.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 23 May 2025 15:10:32 +0200
+
 nagvis (1:1.9.46-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru nagvis-1.9.46/debian/po/ca.po nagvis-1.9.47/debian/po/ca.po
--- nagvis-1.9.46/debian/po/ca.po	1970-01-01 01:00:00.000000000 +0100
+++ nagvis-1.9.47/debian/po/ca.po	2025-05-23 15:08:01.000000000 +0200
@@ -0,0 +1,72 @@
+# Catalan translation of nagvis's debconf messages
+# Copyright ? 2025 Free Software Foundation, Inc.
+# This file is distributed under the same license as the nagvis package.
+# poc senderi <pocsenderi at protonmail.com>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nagvis\n"
+"Report-Msgid-Bugs-To: nagvis at packages.debian.org\n"
+"POT-Creation-Date: 2020-01-21 20:05+0100\n"
+"PO-Revision-Date: 2025-04-03 21:25+0200\n"
+"Last-Translator: poc senderi <pocsenderi at protonmail.com>\n"
+"Language-Team: Catalan <debian-l10n-catalan at lists.debian.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#. Type: select
+#. Choices
+#: ../nagvis.templates:2001
+msgid "shinken"
+msgstr "shinken"
+
+#. Type: select
+#. Description
+#: ../nagvis.templates:2002
+msgid "Monitoring suite used with NagVis:"
+msgstr "Suite de monitoritzaci? utilitzada amb el NagVis:"
+
+#. Type: select
+#. Description
+#: ../nagvis.templates:2002
+msgid ""
+"The NagVis package supports Icinga as well as Nagios, using the check-mk-"
+"live broker backend."
+msgstr ""
+"El paquet NagVis ?s compatible amb l'Icinga i amb el Nagios, utilitzant el "
+"dorsal intermediari ?check-mk-live?."
+
+#. Type: select
+#. Description
+#: ../nagvis.templates:2002
+msgid ""
+"If you would like to use NagVis with a different backend or a different "
+"monitoring suite, please choose \"other\". You'll have to configure it "
+"manually."
+msgstr ""
+"Si voleu utilitzar el NagVis amb un dorsal diferent o amb una suite de "
+"monitoritzaci? diferent, trieu ?other?. S'haur? de configurar manualment."
+
+#. Type: boolean
+#. Description
+#: ../nagvis.templates:3001
+msgid "Delete NagVis data when purging the package?"
+msgstr "Voleu suprimir les dades del NagVis al purgar el paquet?"
+
+#. Type: boolean
+#. Description
+#: ../nagvis.templates:3001
+msgid ""
+"NagVis creates files in /var/{cache,lib}/nagvis and /etc/nagvis (for "
+"instance background images and map files), including a small database for "
+"authentification. If you don't need any of these files, they can be removed "
+"now, or you may want to keep them and clean up by hand later."
+msgstr ""
+"El NagVis crea fitxers a ?/var/{cache,lib}/nagvis? i a ?/etc/nagvis? (per "
+"exemple, imatges de fons i fitxers de mapa), incloent una petita base de "
+"dades per a l'autenticaci?. Si no necessiteu cap d'aquests fitxers, es "
+"poden eliminar ara, o tamb? ?s possible que mantenir-los i fer neteja "
+"manualment m?s endavant."
diff -Nru nagvis-1.9.46/share/server/core/classes/CoreAuthorisationHandler.php nagvis-1.9.47/share/server/core/classes/CoreAuthorisationHandler.php
--- nagvis-1.9.46/share/server/core/classes/CoreAuthorisationHandler.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/classes/CoreAuthorisationHandler.php	2025-05-23 08:56:15.000000000 +0200
@@ -53,6 +53,7 @@
             'createObject' => 'edit',
             'deleteObject' => 'edit',
             'addModify' => 'edit',
+            'editHtml' => 'edit',
         ),
         'Overview' => Array(
             'getOverviewRotations' => 'view',
diff -Nru nagvis-1.9.46/share/server/core/classes/GlobalMapCfg.php nagvis-1.9.47/share/server/core/classes/GlobalMapCfg.php
--- nagvis-1.9.46/share/server/core/classes/GlobalMapCfg.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/classes/GlobalMapCfg.php	2025-05-23 08:56:15.000000000 +0200
@@ -800,7 +800,7 @@
         if(isset($params['source_file']))
             unset($params['source_file']);
         $param_values = $this->paramsToString($params);
-        $cacheFile = cfg('paths','var').'source-'.$this->name.'.cfg-'.$param_values.'-'.$this->isView.'-'.CONST_VERSION.'.cache';
+        $cacheFile = cfg('paths','var').'source-'.$this->name.'.cfg-'.sha1($param_values.'-'.$this->isView.'-'.CONST_VERSION).'.cache';
         $CACHE = new GlobalFileCache(array(), $cacheFile);
 
         // 2a. Check if the cache file exists
diff -Nru nagvis-1.9.46/share/server/core/classes/ViewMapAddModify.php nagvis-1.9.47/share/server/core/classes/ViewMapAddModify.php
--- nagvis-1.9.46/share/server/core/classes/ViewMapAddModify.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/classes/ViewMapAddModify.php	2025-05-23 08:56:15.000000000 +0200
@@ -116,6 +116,11 @@
         $perm_user   = get_checkbox('perm_user');
         $show_dialog = false;
 
+        global $AUTHORISATION;
+        if(!$AUTHORISATION->isPermitted('Map', 'editHtml', '*')) {
+            throw new NagVisException(l('Cannot edit HTML. Please contact your administrator'));
+        }
+
         // Modification/Creation?
         // The object_id is known on modification. When it is not known 'type' is set
         // to create new objects
diff -Nru nagvis-1.9.46/share/server/core/defines/global.php nagvis-1.9.47/share/server/core/defines/global.php
--- nagvis-1.9.46/share/server/core/defines/global.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/defines/global.php	2025-05-23 08:56:15.000000000 +0200
@@ -23,7 +23,7 @@
  *****************************************************************************/
  
 // NagVis Version
-define('CONST_VERSION', '1.9.46');
+define('CONST_VERSION', '1.9.47');
 
 // Set PHP error handling to standard level
 // Different levels for php versions below 5.1 because PHP 5.1 reports
diff -Nru nagvis-1.9.46/share/server/core/functions/html.php nagvis-1.9.47/share/server/core/functions/html.php
--- nagvis-1.9.46/share/server/core/functions/html.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/functions/html.php	2025-05-23 08:56:15.000000000 +0200
@@ -271,6 +271,11 @@
     if (submitted($form_name))
         $default = post($name, $default);
 
+    global $AUTHORISATION;
+    if(!$AUTHORISATION->isPermitted('Map', 'editHtml', '*')) {
+        echo '<b>Cannot edit HTML. Please contact your administrator.</b>';
+        return;
+    }
     // plain <textarea>
     echo '<textarea id="textarea_'.$name.'" name="'.$name.'"'.$class.$style.'>'.escape_html($default).'</textarea>'.N;
 
diff -Nru nagvis-1.9.46/share/server/core/functions/nagvisErrorHandler.php nagvis-1.9.47/share/server/core/functions/nagvisErrorHandler.php
--- nagvis-1.9.46/share/server/core/functions/nagvisErrorHandler.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/functions/nagvisErrorHandler.php	2025-05-23 08:56:15.000000000 +0200
@@ -37,7 +37,9 @@
             echo $OBJ;
         } else {
             echo "Error (".get_class($OBJ)."): ".$OBJ->getMessage();
-            var_dump(debug_backtrace());
+            echo "<br>";
+            echo "For more information check the apache error log.";
+            error_log(print_r(debug_backtrace(), true));
         }
 
         die();
diff -Nru nagvis-1.9.46/share/server/core/sources/dynmap.php nagvis-1.9.47/share/server/core/sources/dynmap.php
--- nagvis-1.9.46/share/server/core/sources/dynmap.php	2025-04-04 18:02:07.000000000 +0200
+++ nagvis-1.9.47/share/server/core/sources/dynmap.php	2025-05-23 08:56:15.000000000 +0200
@@ -7,7 +7,7 @@
     $objects = array();
 
     $type = $p['dynmap_object_types'];
-    $filter = str_replace('\n', "\n", $p['dynmap_object_filter']);
+    $filter = preg_replace('/(\\\\n)+/', "\n", $p['dynmap_object_filter']);
     foreach($MAPCFG->getValue(0, 'backend_id') AS $backend_id) {
         $ret = $_BACKEND->getBackend($backend_id)->getObjects($type, '', '', $filter);
         // only use the internal names


More information about the Pkg-nagios-devel mailing list