Bug ID 866953: Portal Access: F5_Inflate_onclick wrapper functionality needs refining

Last Modified: Jun 27, 2020

Bug Tracker

Affected Product:  See more info
BIG-IP APM(all modules)

Known Affected Versions:
13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3, 13.1.0.4, 13.1.0.5, 13.1.0.6, 13.1.0.7, 13.1.0.8, 13.1.1, 13.1.1.1, 13.1.1.2, 13.1.1.3, 13.1.1.4, 13.1.1.5, 13.1.3, 13.1.3.1, 13.1.3.2, 13.1.3.3, 14.0.0, 14.0.0.1, 14.0.0.2, 14.0.0.3, 14.0.0.4, 14.0.0.5, 14.0.1, 14.0.1.1, 14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.4, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 15.0.0, 15.0.1, 15.0.1.1, 15.0.1.2, 15.0.1.3, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3

Opened: Jan 07, 2020
Severity: 4-Minor

Symptoms

Event handler defined on DOM elements is not executed properly, and some events on a page like onClick() are not executed properly.

Impact

Web application does not operate as expected.

Conditions

-- Portal access enabled. -- Rewrite enabled. -- New value of event handler is equal to inline handler already set for the element.

Workaround

Use a custom iRule, for example, an iRule that redefines F5_Inflate_onclick: Note: In the following iRule, substitute <PATH_TO_PAGE> with the page in your web application. when REWRITE_REQUEST_DONE { if { [HTTP::path] ends_with "<PATH_TO_PAGE>" } { # log "URI=([HTTP::path])" # Found the file to modify REWRITE::post_process 1 set do_it 1 } } when REWRITE_RESPONSE_DONE { if {[info exists do_it]} { unset do_it set strt [string first {<script>try} [REWRITE::payload]] if {$strt > 0} { REWRITE::payload replace $strt 0 { <script> (function(){ var ioc = F5_Inflate_onclick; F5_Inflate_onclick = function(o, incr, v) { if (v === o.onclick && typeof v === 'function') { return v; } return ioc.call(this,o,incr,v); } })(); </script> } } } }

Fix Information

None

Behavior Change