[Prisma Cloud Compute Edition] Les tâches ECS Fargate se terminent avec le code de sortie 255 lors du traitement d'un trafic important

[Prisma Cloud Compute Edition] Les tâches ECS Fargate se terminent avec le code de sortie 255 lors du traitement d'un trafic important

725
Created On 07/31/24 08:21 AM - Last Modified 02/19/26 16:54 PM


Symptom


  • Vous avez installé des défenseurs sur vos tâches ECS Fargate
  • Ces tâches défendues, lors de la gestion d'un trafic plus important, sortent avec le code 255
  • Le même type de déploiement mais avec un trafic plus faible ne semble pas signaler la même erreur
  • Sans le défenseur, les tâches fonctionnent bien même avec un trafic plus important



Environment


  • Édition Cloud Compute de Prisma
  • AWS ECS Fargate


Cause


  • La taille maximale des arguments de la ligne de commande est de 128 Ko de données dans la plupart des systèmes Linux (en fonction de la taille de la page mémoire). Voir ici - https://elixir.bootlin.com/linux/v4.15/source/include/uapi/linux/binfmts.h
  • Lorsque l'argument est supérieur à cette taille, le défenseur ne parvient pas à lire la chaîne d'argument et interrompt l'exécution (il ne peut pas trouver le caractère NULL dans la limite de taille) :
failed to fetch execve arguments: failed to read argument: failed to find string in <ArgString>
  • Donc, le problème ici est que la ligne de commande de l'argument est trop longue et atteint la limite de 128 Ko, et le défenseur ne parvient pas à traiter l'exécution comme prévu
  • Étant donné que le défenseur est limité à 128 Ko seulement et que la limitation ne peut pas être modifiée dans le défenseur, la tâche échoue


Resolution


  • Une solution alternative possible ici peut être de transmettre le JSON codé par un autre fichier, de sorte que la chaîne d'argument puisse être un chemin de fichier vers ce JSON, le rendant ainsi beaucoup plus court.
  • Ou cherchez une autre solution pour des arguments plus courts.
  • Defender sera corrigé pour supprimer cette limitation de 128 Ko pour la taille des arguments, car les systèmes Linux modernes peuvent prendre en charge des tailles d'arguments supérieures à 2 Mo, comme documenté ici : https://man7.org/linux/man-pages/man2/execve.2.html


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000HDluCAG&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language