Bug ID 654451: Compatibility in bot defense iRules reasons from version 12.1.0 to version 13.0.0 or later

Last Modified: Jul 12, 2023

Affected Product(s):
BIG-IP ASM, Install/Upgrade(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.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, 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

Opened: Mar 30, 2017

Severity: 4-Minor

Symptoms

Some specific iRules that use BOTDEFENSE::reason that worked in version 12.1.0 stop working after an upgrade to 13.0.0 or later.

Impact

The iRules that use the bot defense reason string may fail to match the new string.

Conditions

An iRule exists that matches the string of a bot defense reason, for example: if {([BOTDEFENSE::reason] eq "passed browser challenge" ...

Workaround

You can manually update your iRules to use the correct bot defense reason string. Typically this is a matter of making the string case-insensitive. Here are some examples, but the list is extensive: From "Service to Other Module" to "Web-Scraping Detection". From "passed browser challenge" to "Passed Browser Challenge". From "passed captcha challenge" to "Passed CAPTCHA Challenge". From "whitelist" to "Whitelisted Transaction". For some of the reasons, a simple search and replace of: '[BOTDEFENSE::reason]' to '[string tolower [BOTDEFENSE::reason]]' would work

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips