WICHTIG: Kritische Sicherheitslücke in Citrix NetScaler/ADC Versionen 10.5 bis 13.0

Citrix NetScaler/ADC hat in allen Versionen von 10.5, 11.1, 12.0, 12.1, 13.0 bis zum heutigen Datum eine Sicherheitslücke, die das Ausführen von Schadcode ohne Anmeldung ermöglicht! Es erfolgte zudem eine Ausweitung auf alle Citrix SD-WAN WANOP Software und Appliance Modelle 4000, 4100, 5000, 5100 für alle unterstützen Builds.

 

Ein Update zu Informationen und Ausnutzung der Sicherheitslücke ist hier zu finden!

 

Handeln ist bei allen betroffenen Installationen dringend erforderlich. Informationen zu CVE-2019-19781 : Vulnerability in Citrix Application Delivery Controller and Citrix Gateway leading to arbitrary code execution ist hier zu finden. 

 

 

Bis vom Hersteller für die betroffenen Versionen ein Upgrade bereitgestellt wurde, gibt es die Möglichkeit über eine Responder-Regel die Ausnutzung der Sicherheitslücke zu entschärfen. Dies unterscheidet sich nach Installations-Typ: Standalone, HA-Pair, Cluster. Über eine SSH-Sitzung können die folgenden Kommandos ausgeführt werden.

 

Standalone Installation:

enable ns feature responder

add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""

add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403

bind responder global ctx267027 1 END -type REQ_OVERRIDE

add responder policy ctx267027_2 "HTTP.REQ.HEADER(\"NSC_USER\").CONTAINS(\"/../\") || HTTP.REQ.HEADER(\"NSC_NONCE\").CONTAINS(\".pl\") " respondwith403

bind responder global ctx267027_2 2 END -type REQ_OVERRIDE

save config 

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

HA-Pair Installation:

Primärer ADC

enable ns feature responder

add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""

add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403

bind responder global ctx267027 1 END -type REQ_OVERRIDE

add responder policy ctx267027_2 "HTTP.REQ.HEADER(\"NSC_USER\").CONTAINS(\"/../\") || HTTP.REQ.HEADER(\"NSC_NONCE\").CONTAINS(\".pl\") " respondwith403

bind responder global ctx267027_2 2 END -type REQ_OVERRIDE

save config 

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

Nachdem der Primäre ADC wieder aktiv ist dies auf den Sekundären ausführen

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

Cluster Installation:

Auf CLIP

enable ns feature responder

add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""

add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403

bind responder global ctx267027 1 END -type REQ_OVERRIDE

add responder policy ctx267027_2 "HTTP.REQ.HEADER(\"NSC_USER\").CONTAINS(\"/../\") || HTTP.REQ.HEADER(\"NSC_NONCE\").CONTAINS(\".pl\") " respondwith403

bind responder global ctx267027_2 2 END -type REQ_OVERRIDE

save config 

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

Auf jedem Cluster-Mitglied

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

Auf der Admin-Partition

switch ns partition default

enable ns feature responder

add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""

add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403

bind responder global ctx267027 1 END -type REQ_OVERRIDE

add responder policy ctx267027_2 "HTTP.REQ.HEADER(\"NSC_USER\").CONTAINS(\"/../\") || HTTP.REQ.HEADER(\"NSC_NONCE\").CONTAINS(\".pl\") " respondwith403

bind responder global ctx267027_2 2 END -type REQ_OVERRIDE

save config

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0

shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

reboot

 

Hotfix-Informationen sind hier zu finden. 

Zur Prüfung ob die Lücke eventuelle bereits genutzt wurde hier weitere Infos.

 

Wichtig: Der Workaround oben von Citrix funktioniert nicht bei Systemen mit der Version 12.1 50.28 und 12.1 50.31. Wenn diese Version im Einsatz ist unbedingt auf die aktuelle 12.1 Version aktualisieren.

Kommentar schreiben

Kommentare: 0