Last Modified: Sep 13, 2023
Affected Product(s):
BIG-IP APM
Known Affected Versions:
12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 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.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, 13.1.3.4, 13.1.3.5, 13.1.3.6, 13.1.4, 13.1.4.1, 13.1.5, 13.1.5.1
Fixed In:
14.0.0, 13.0.1
Opened: Sep 07, 2017 Severity: 3-Major
In JavaScript, literal object definition may contain getter/setter definitions for some property, for example: var c = { get a() { return a; }, set a(v) { if (v) a = v; } }; The object 'c' has the property 'a' with explicit getter/setter functions. If name of such property is equal to any name to be rewritten, then Portal Access may generate incorrect JavaScript code.
JavaScript code cannot be executed due to incorrect syntax after rewriting.
- JavaScript code with literal object definition; - Property with getter/setter definition in this object; - Property name is one of rewritten names, like 'location' or 'onerror'.
Use iRule to replace rewritten property names by original ones.
Now Portal Access does not rewrite property names in getter/setter definitions for JavaScript objects.