Bug ID 867705: URL for IFRAME element may not be normalized in some cases

Last Modified: Apr 17, 2024

Affected Product(s):
BIG-IP APM(all modules)

Known Affected Versions:
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, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3, 15.1.0.4, 15.1.0.5, 15.1.1, 15.1.2, 15.1.2.1, 15.1.3, 15.1.3.1, 15.1.4, 15.1.4.1, 15.1.5, 15.1.5.1, 15.1.6, 15.1.6.1, 15.1.7, 15.1.8, 15.1.8.1, 15.1.8.2, 15.1.9, 15.1.9.1, 15.1.10, 15.1.10.2, 15.1.10.3, 15.1.10.4

Opened: Jan 08, 2020

Severity: 4-Minor

Symptoms

Client JavaScript may see a non-normalized URL for the IFRAME HTML element in Portal Access.

Impact

The URL for IFRAME element is not normalized and the web application may not work correctly in Portal Access.

Conditions

- Original HTML page contains IFRAME element with relative URL - JavaScript code reads this URL from the IFRAME element

Workaround

Use an iRule to correct the returned IFRAME URL in rewritten JavaScript code. There is no generic iRule pattern; the correction depends on actual JavaScript code, but you can use the following example as a template: when REWRITE_REQUEST_DONE { if { [HTTP::path] ... } { # use appropriate selection for URI set correct_location 1 } } when REWRITE_RESPONSE_DONE { if {[info exists correct_location]} { unset correct_location # look for the piece of code to be corrected set str2find {...} # use appropriate pattern for rewritten code set str_len [string length $str2find] set strt [string first $str2find [REWRITE::payload]] # make replacement using appropriate corrected code if {$strt > 0} { REWRITE::payload replace $strt $str_len {...} } } }

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips