---
title: Code Execution Through Ghostty Window Title
description: Upptäck hur en sårbarhet i terminalemulatorn Ghostty kunde möjliggöra oönskad kommandoexekvering och vilka åtgärder som vidtogs för att lösa problemet.
---

[Teknikblogg | Netsecurity ](https://www.netsecurity.no/sv/teknikblogg)

# [Code Execution Through Ghostty Window Title](https://www.netsecurity.no/sv/teknikblogg/code-execution-through-ghostty-window-title)

 Skriven av [Siddharth Dushantha](https://www.netsecurity.no/sv/teknikblogg/author/siddharth-dushantha) | 2025-mar-07 13:41:34

## Sammanfattning

Den 31 december 2024 släpptes version 1.0.1 av den moderna terminalemulatorn [Ghostty](https://github.com/ghostty-org/ghostty)  som åtgärdade en sårbarhet för exekvering av kod , nu spårad som [CVE-2024-56803](https://github.com/ghostty-org/ghostty/security/advisories/GHSA-5hcq-3j4q-4v6p). Terminaler exekverar kommandon på grund av sin design, mendenna sårbarhet möjliggjorde oavsiktlig exekvering av kommandon genom escape-sekvensen för titelrapportering `(\e[21t` `)`.

 

## Detaljer

Detta inträffade eftersom escape-sekvensen infogade fönstertiteln direkt i kommandoraden. Om användaren trycker på Enter körs den infogade titeln som ett kommando.

Det var t.ex. möjligt att starta miniräknaren genom att ändra titeln `med \e]2;<title`>, där `<title>` är kommandot, t.ex. `gnome-calculator`.  I kombination med escape-sekvensen för titelrapportering skulle titeln infogas i kommandoraden i formatet `l<title`>, där l anger att den efterföljande strängen är fönstertiteln.

Ghostty uppdaterar dock fönstertiteln dynamiskt efter varje utfört kommando så att den återspeglar den aktuella arbetskatalogen. Detta beteende störde utnyttjandet genom att åsidosätta den titel som vi kontrollerade med en sträng som innehåller den uppdaterade sökvägen.

För att kringgå detta kunde vi slå sammansekvensen för inställning av titel och sekvensen för rapportering av titel till en enda sekvens, vilket förhindrade Ghostty från att uppdatera titeln innan nyttolasten infogades i kommandoraden.

Ett annat problem som uppstod var att den infogade titeln föregicks av l, vilket förhindrade exekveringav  kommandot. Även om detta tecken inte kunde tas bort, hittades en lösning där ett semikolon`(``;``)` skulle läggastill nyttolasten`.`Detta skulle få Bash att tolka den infogade titeln som två separata kommandon eftersom semikolon är en kommandoseparator.

 

Den här nyttolasten kan levereras genom att den lagras i en fil och låta en användare kata den eller hämta den med curl. Men de flesta användare kommer inte att trycka på Enter när de ser att kommandon har infogats i deras kommandorad.

Därför kan en nyttolast utformas där `\e[8m` används för att göra det skadliga kommandot osynligt, tillsammans med ett falskt felmeddelande som visas för att lura användaren att trycka på `Enter`.

 

## Slutsats

Det pågår diskussioner om huruvida terminalemulatorutvecklare eller utvecklare av CLI/TUI-verktyg ska beskyllas för att tillåta att escape-sekvenser analyseras när de inte behövs.  Under tiden är det viktigt att ta itu med det faktum att escape-sekvenser, som är en gammal teknik som inte har uppdaterats, utgör en säkerhetsrisk.  Därför är det viktigt att användarinmatning alltid rensas för att förhindra att användare utsättsför intrång .

 

 

Publicerad 11.02.2025

[Visa hela inlägget](https://www.netsecurity.no/sv/teknikblogg/code-execution-through-ghostty-window-title)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Siddharth Dushantha"
  },
  "dateModified" : "2025-03-07T13:41:49.436Z",
  "datePublished" : "2025-03-07T13:41:34Z",
  "headline" : "Code Execution Through Ghostty Window Title",
  "image" : {
    "@type" : "ImageObject",
    "height" : 450,
    "url" : "https://4452610.fs1.hubspotusercontent-na1.net/hubfs/4452610/Featured%20Image%20Ghostty%202.png",
    "width" : 900
  },
  "mainEntityOfPage" : "https://www.netsecurity.no/sv/teknikblogg/code-execution-through-ghostty-window-title",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60.0,
      "url" : "https://4452610.fs1.hubspotusercontent-eu1.net/hubfs/4452610/Netsecurity_logo_m%C3%B8rk%2Br%C3%B8d.png",
      "width" : 179.54887
    },
    "name" : "Teknikblogg"
  }
}
```