diff -ruN nucleus3.22/nucleus/documentation/history.html nucleus3.23/nucleus/documentation/history.html
--- nucleus3.22/nucleus/documentation/history.html	2005-08-21 10:35:30.000000000 -0500
+++ nucleus3.23/nucleus/documentation/history.html	2006-05-23 19:40:10.000000000 -0500
@@ -15,6 +15,12 @@
 
 <ul>
 	<li>
+		<b>Nucleus v3.23 (May 23, 2006)</b>
+		<ul>
+			<li>FIXED: Remote code execution vulnerability (reported by rgod).</li>
+		</ul>
+	</li>
+	<li>
 		<b>Nucleus v3.22 (August 21, 2005)</b>
 		<ul>
 			<li>FIXED: Major security vulnerability in the phpxmlrpc library.</li>
diff -ruN nucleus3.22/nucleus/libs/globalfunctions.php nucleus3.23/nucleus/libs/globalfunctions.php
--- nucleus3.22/nucleus/libs/globalfunctions.php	2005-08-15 12:50:12.000000000 -0500
+++ nucleus3.23/nucleus/libs/globalfunctions.php	2006-05-23 19:50:08.000000000 -0500
@@ -20,11 +20,11 @@
 global $nucleus, $CONF, $DIR_LIBS, $DIR_LANG, $manager, $member; 
 
 
-checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', 'DIR_LANG', 'DIR_PLUGINS'));
+checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', 'DIR_LANG', 'DIR_PLUGINS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES'));
 
 $CONF['debug'] = 0;
 
-$nucleus['version'] = 'v3.22';
+$nucleus['version'] = 'v3.23';
 if (getNucleusPatchLevel() > 0)
 {
 	$nucleus['version'] .= '/' . getNucleusPatchLevel();
@@ -51,7 +51,7 @@
   * returns the currently used version (100 = 1.00, 101 = 1.01, etc...)
   */
 function getNucleusVersion() {
-	return 322;
+	return 323;
 }
 
 /**
diff -ruN nucleus3.22/nucleus/libs/PLUGINADMIN.php nucleus3.23/nucleus/libs/PLUGINADMIN.php
--- nucleus3.22/nucleus/libs/PLUGINADMIN.php	2005-08-15 12:50:12.000000000 -0500
+++ nucleus3.23/nucleus/libs/PLUGINADMIN.php	2006-05-23 19:49:54.000000000 -0500
@@ -19,7 +19,8 @@
   */
 
 global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES, $HTTP_SESSION_VARS;
-$aVarsToCheck = array('DIR_LIBS');
+$aVarsToCheck = array('HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES', 'DIR_LIBS');
+
 foreach ($aVarsToCheck as $varName)
 {
 	if (phpversion() >= '4.1.0')
@@ -46,6 +47,8 @@
 	}
 }
 
+if (!isset($DIR_LIBS))
+	die('Sorry.');
 
 include($DIR_LIBS . 'ADMIN.php');
 
