Sélection de la langue

Alerte - Exploitation active de l’interface utilisateur Telerik pour ASP.NET AJAX

Numéro : AL19-010
Date : 29 mai 2019

Auditoire

La présente alerte est destinée aux professionnels des TI et aux gestionnaires des organismes avisés.

Objet

Une alerte a pour objet de prévenir les destinataires relativement à des cybermenaces qui ont été relevées récemment et qui pourraient peser sur les fonds d’information électronique. Elle vise également à leur fournir un complément d’information en matière de détection et d’atténuation. Le Centre canadien pour la cybersécurité (ou Centre pour la cybersécurité) offre également aux destinataires une assistance additionnelle sur demande, concernant la teneur de la présente alerte.

Évaluation

Le Centre pour la cybersécurité est au fait de l'utilisation d'exploits publiquement accessibles pour attaquer des sites Web qui emploient l'interface utilisateur (IU) Telerik UI pour ASP.NET AJAX. L’IU Telerik permet d’ajouter des éléments d’interface utilisateur aux sites Web ainsi qu’aux applications Web. De fait, la vulnérabilité résulte de lacunes sur le plan cryptographique décelées dans Telerik.Web.UI.dll. En l’occurrence, il faut savoir que l’exploitation de ces lacunes peut mener à la divulgation des clés de chiffrement. En effet, lorsqu’elle réussit, l’exploitation de cette vulnérabilité peut provoquer la compromission des scripts intersites (XSS), la fuite des MachineKeys cryptographiques et la compromission d’ASP.NET ViewState, et pourrait permettre le téléchargement/le téléversement arbitraires de fichiers. Il est également question de cette vulnérabilité dans les documents suivants : CVE-2017-9248, CVE-2017-11317 et CVE-2017-11357. Les versions vulnérables de Telerik UI pour ASP.NET AJAX sont celles qui ont été mises en marché 2007 et 2017. D'ailleurs, Telerik a déjà produit un correctif visant à compenser cette vulnérabilité.

En outre, il arrive que Telerik soit installé sur la composante d'un tiers parti, donc, à l'insu de l'administrateur de système. Il est possible que les administrateurs doivent vérifier si ce fichier .dll s'est introduit dans leur système, comme l'indique les mesures suggérées dans la prochaine section.

Mesures suggérées

  • Recenser les dispositifs sur lesquels Telerik est installé. Puisque la vulnérabilité tient au fichier Telerik.Web.UI.dll, il serait utile de le repérer moyennant une recherche effectuée dans le répertoire racine de l'application Web, ce qui permettrait d'établir si Telerik est utilisé, puis le cas échéant, d'en connaître la version. L'Australian Cyber Security Centre a produit un exemple de script PowerShell (voir à l'annexe A) qui permettrait de savoir si des répertoires comptent des fichiers Telerik.Web.UI.dll vulnérables.
  • En guise de complément ou de substitut à ce script, on peut examiner le serveur Web ainsi que les journaux des applications Web pour voir si des ressources de Telerik ont été sollicitées. Plus précisément, les ressources suivantes sont sollicitées suivant des demandes HTTP GET et POST lorsque cette technique d'exploitation publiquement accessible est utilisée : Telerik.Web.UI.DialogHandler.aspx and Telerik.Web.UI.WebResource.axd.
  • Une fois que les occurrences de Telerik ont été recensées, il est recommandé que les administrateurs de systèmes prennent acte de l’article suivant tiré de la base de connaissance de Telerik et appliquent les mises à jour requises, ce qui comprend la génération de nouvelles clés de chiffrement pour l’IU et MachineKey : https://www.telerik.com/support/kb/aspnet-ajax/details/cryptographic-weakness

Annexe A - Script PowerShell permettant de repérer les fichiers Telerik.Web.UI.dll

[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[String]$searchDir
)
# Versions vulnérables énumérées dans l'extension BurpSuite : Telewreck.py.
# Disponible à l'adresse suivante : https://github.com/capt-meelo/Telewreck/blob/master/telewreck.py.
$VULN_VERSIONS = @(
'2007.1423', '2007.1521', '2007.1626', '2007.2918', '2007.21010', '2007.21107', '2007.31218', '2007.31314', '2007.31425',
'2008.1415', '2008.1515', '2008.1619', '2008.2723', '2008.2826',
'2008.21001', '2008.31105', '2008.31125', '2008.31314',
'2009.1311', '2009.1402', '2009.1527', '2009.2701', '2009.2826', '2009.31103', '2009.31208', '2009.31314',
'2010.1309', '2010.1415', '2010.1519', '2010.2713', '2010.2826',
'2010.2929', '2010.31109', '2010.31215', '2010.31317',
'2011.1315', '2011.1413', '2011.1519', '2011.2712', '2011.2915', '2011.31115', '2011.3.1305',
'2012.1.215', '2012.1.411', '2012.2.607', '2012.2.724', '2012.2.912',
'2012.3.1016', '2012.3.1205', '2012.3.1308',
'2013.1.220', '2013.1.403', '2013.1.417', '2013.2.611', '2013.2.717',
'2013.3.1015', '2013.3.1114', '2013.3.1324',
'2014.1.225', '2014.1.403', '2014.2.618', '2014.2.724', '2014.3.1024',
'2015.1.204', '2015.1.225', '2015.1.401', '2015.2.604', '2015.2.623',
'2015.2.729', '2015.2.826', '2015.3.930', '2015.3.1111',
'2016.1.113', '2016.1.225', '2016.2.504', '2016.2.607', '2016.3.914',
'2016.3.1018', '2016.3.1027',
'2017.1.118', '2017.1.228', '2017.2.503', '2017.2.621', '2017.2.711',
'2017.3.913'
)
Get-ChildItem -Path $searchDir -Filter Telerik.Web.UI.dll -Recurse -ErrorAction SilentlyContinue -Force | foreach-object {
# Dans les échantillons ACSC de Telerik.Web.UI.dll, le numéro de version est 4 "octets" (p. ex. '2014.2.724.45'), ce que PowerShell rapporte comme étant "Major"."Minor"."Build"."Revision".
# Telewreck formule les demandes au moyen de numéros de versions dont la longueur varie entre deux et trois octets; on considère que toutes les versions sont vulnérables.
if ($_.VersionInfo.FileMajorPart -lt 2012) {
$SimplifiedFileVersion = ($_.VersionInfo.FileVersion | Select-String -Pattern "\d{4}\.\d{4,5}").Matches.Value
} else {
$SimplifiedFileVersion = ($_.VersionInfo.FileVersion | Select-String -Pattern "\d{4}\.\d{1}\.\d{3,4}").Matches.Value
}
if ($VULN_VERSIONS -contains $SimplifiedFileVersion) {
Write-Host -ForegroundColor Red "Vulnerable Telerik.Web.UI.dll identified at '$($_.FullName)'. Version number $($_.VersionInfo.FileVersion)' matches version '$($SimplifiedFileVersion)' in Telewreck."
} else {
if ($_.VersionInfo.FileMajorPart -lt 2018) {
Write-Host -ForegroundColor Yellow "Potentially vulnerable Telerik.Web.UI.dll identified at '$($_.FullName)'. Version number '$($_.VersionInfo.FileVersion)' is not included in the Telewreck 
vulnerable versions, but falls within timeframe of vulnerable versions."
} else {
Write-Host -ForegroundColor Green "Telerik.Web.UI.dll identified at '$($_.FullName)'. Version number '$($_.VersionInfo.FileVersion)' is not included in the Telewreck vulnerable versions and falls outside of the vulnerability timeframes."
}
}
}

Documents de références

Telerik Security Alert: https://www.telerik.com/blogs/security-alert-for-telerik-ui-for-asp.net-ajax-and-progress-sitefinity

Australian Cyber Security Centre Advisory 2019-126 : https://www.cyber.gov.au/publications/Advisory-2019-126

Note aux lecteurs

Le Centre canadien pour la cybersécurité (CCC) mène ses activités sous l’égide du Centre de la sécurité des télécommunications. Il est l’autorité canadienne en matière de cybersécurité et dirige les interventions du gouvernement lors d’événements liés à la cybersécurité. Le personnel du CCC agit à titre d’équipe nationale d’intervention en cas d’incident lié à la sécurité informatique et travaille étroitement avec les ministères, les propriétaires et les exploitants d’infrastructures essentielles, les entreprises canadiennes et des partenaires internationaux pour intervenir en cas d’incidents de cybersécurité ou pour atténuer les conséquences en découlant. Ce faisant, il offre conseils et soutien d’expert, et coordonne les communications d’information et l’intervention en cas d’incidents. Le Centre pour la cybersécurité est à l’écoute des entités externes et favorise les partenariats visant à créer un cyberespace canadien fort et résilient.

Date de modification :