Bug ID 429915: ActiveX object with Flash file behaves strangely when accessing its inner/outerHTML

Last Modified: Jul 12, 2023

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

Known Affected Versions:
11.4.0, 11.4.1

Opened: Sep 05, 2013

Severity: 3-Major

Symptoms

It returns HTML representation of some internal data structure instead of actual things we added to the tag, and all the values we have not defined explicitly are in their default state. Additionally it tries to copy <param name="movie"... value to <param name="src"... and vice versa. In some corner cases of operations with innerHTML, we could lose the value of "movie" parameter.

Impact

No video displayed.

Conditions

Display blank screen instead of video in Internet Explorer.

Workaround

iRule workaround: when HTTP_REQUEST { set is_youtube 0 } when REWRITE_REQUEST_DONE { # workaround for IE/Flash ActiveX feature set is_youtube 0 if {"[HTTP::host][HTTP::path]" matches_glob "s.ytimg.com/yts/jsbin/www-embed-player*.js" || "[HTTP::host][HTTP::path]" matches_glob "s.ytimg.com/yts/jsbin/*/www_common_mod.js" } { set is_youtube 1 } if { $is_youtube == 1 } { if { [HTTP::version] eq "1.1" } { if { [HTTP::header is_keepalive] } { HTTP::header replace "Connection" "Keep-Alive" } HTTP::version "1.0" } } } when HTTP_RESPONSE { if { $is_youtube == 1} { if { [HTTP::header exists "Content-Length"] and [HTTP::header "Content-Length"] <= 1048576 } { HTTP::collect [HTTP::header Content-Length] } else { HTTP::collect 1048576 } } } when HTTP_RESPONSE_DATA { if { $is_youtube == 1 } { set yt_loc [string first {;e.movie=} [HTTP::payload]] if { $yt_loc >= 0 } { HTTP::payload replace $yt_loc 1 {;e.src=} set is_youtube 0 } HTTP::release } }

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips