Confirmed Invalid argument exception: Invalid string IP - IP filter in Cookie Consent log

puterfixer

Well-known member
Licensed customer
Affected version
2.3.13
Hello,

In AdminCP > Logs > Cookie consent log, if I enter a complete IPv4 or IPv6 in the IP Address... filter at the top and click the Filter button, I get an error like:

Code:
InvalidArgumentException: Invalid string IP: */��ݬy!�� in src/XF/Util/Ip.php at line 25

    XF\Util\Ip::stringToBinary() in src/XF/Admin/Controller/LogController.php at line 910
    XF\Admin\Controller\LogController->actionCookieConsent() in src/XF/Mvc/Dispatcher.php at line 364
    XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 266
    XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 121
    XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 63
    XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2840
    XF\App->run() in src/XF.php at line 850
    XF::runApp() in admin.php at line 15

This appears then in the Server error log as well as:

Code:
Invalid string IP: */??ݬy!??? src/XF/Util/Ip.php:25

Stack trace

#0 src/XF/Admin/Controller/LogController.php(910): XF\Util\Ip::stringToBinary([invalid])
#1 src/XF/Mvc/Dispatcher.php(364): XF\Admin\Controller\LogController->actionCookieConsent(Object(XF\Mvc\ParameterBag))
#2 src/XF/Mvc/Dispatcher.php(266): XF\Mvc\Dispatcher->dispatchClass('XF:Log', 'CookieConsent', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\LogController), NULL)
#3 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\LogController), NULL)
#4 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#5 src/XF/App.php(2840): XF\Mvc\Dispatcher->run()
#6 src/XF.php(850): XF\App->run()
#7 admin.php(15): XF::runApp('XF\\Admin\\App')
#8 {main}

Request state

array(4) {
  ["url"] => string(38) "/forums/admin.php?logs/cookie-consent/"
  ["referrer"] => string(60) "https://www.mydomain.tld/forums/admin.php?logs/cookie-consent/"
  ["_GET"] => array(1) {
    ["logs/cookie-consent/"] => string(0) ""
  }
  ["_POST"] => array(3) {
    ["_xfToken"] => string(8) "********"
    ["username"] => string(0) ""
    ["ip"] => string(39) "2a02:2f04:8300:b100:xxxx:xxxx:xxxx:xxxx"
  }
}

(IP redacted for privacy)

If I attempt to filter on just the beginning of that IPv6, as 2a02:2f04:8300:b100: or with a * as wildcard at the end 2a02:2f04:8300:b100:* then I get a nicely formatted page saying "Please enter a valid IP or IP range. Wildcards may only occur at the end."

With IPv4, I get an error with complete IPs and partial IPs with or without wildcards at the end.

Let me know if you need additional details. Thanks!
 
Back
Top Bottom