Bug ID 691287: tmm crashes on iRule with GTM pool command

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP DNS, GTM(all modules)

Known Affected Versions:
12.1.0, 12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3

Fixed In:
14.0.0, 13.1.0.4, 12.1.3.4

Opened: Oct 27, 2017

Severity: 2-Critical

Symptoms

tmm crashes with a SIGSEGV when a GTM iRule executes a 'pool' command against Tcl variables that have internal string representations, which can occur when a value is a result of (some) string commands (e.g., 'string tolower') or if the value comes from a built-in iRules command (such as 'class'). For example: when DNS_REQUEST { pool [string tolower "Test.com"] } or: when DNS_REQUEST { pool [class lookup pool-dg key-value] }

Impact

Traffic disrupted while TMM restarts.

Conditions

GTM iRule executes a 'pool' command against Tcl variables that have internal string representations.

Workaround

Pass the 'pool' argument through 'string trim'. For instance: when DNS_REQUEST { pool [string trim [class lookup pool-dg key-value]] }

Fix Information

tmm no longer crashes on GTM iRules that use the 'pool' command.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips