<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/static/feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>dgl.cx</title>
  <subtitle>Blogging about security, strange things to do with Internet protocols and other such fun.</subtitle>
  <id>https://dgl.cx/feed</id>
  <link rel="self" href="https://dgl.cx/feed"/>
  <link rel="alternate" href="https://dgl.cx"/>
  <updated>2025-10-07T03:05:12Z</updated>
  <entry>
    <title>Bash a newline: Exploiting SSH via ProxyCommand, again (CVE-2025-61984)</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A look at how a newline character in SSH usernames could confuse
      ProxyCommand in OpenSSH, leading to command injection and potential RCE.</div>
    </content>
    <id>https://dgl.cx/2025/10/bash-a-newline-ssh-proxycommand-cve-2025-61984</id>
    <link href="https://dgl.cx/2025/10/bash-a-newline-ssh-proxycommand-cve-2025-61984" rel="alternate"/>
    <published>2025-10-07T03:05:12Z</published>
    <updated>2025-10-07T03:05:12Z</updated>
  </entry>
  <entry>
    <title>Switchable dark mode with 5 lines of JavaScript</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Progress on progressive enhancement with new CSS features.</div>
    </content>
    <id>https://dgl.cx/2025/09/dark-mode-with-5-lines-of-javascript</id>
    <link href="https://dgl.cx/2025/09/dark-mode-with-5-lines-of-javascript" rel="alternate"/>
    <published>2025-09-28T03:29:18Z</published>
    <updated>2025-09-28T03:29:18Z</updated>
  </entry>
  <entry>
    <title>Images over DNS</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Answering the question of how big a TXT record can be.</div>
    </content>
    <id>https://dgl.cx/2025/09/images-over-dns</id>
    <link href="https://dgl.cx/2025/09/images-over-dns" rel="alternate"/>
    <published>2025-09-20T11:26:30Z</published>
    <updated>2025-09-20T11:26:30Z</updated>
  </entry>
  <entry>
    <title>CVE-2025-48384: Breaking git with a carriage return and cloning RCE</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">tl;dr: On Unix-like platforms, if you use git clone --recursive on an untrusted repo, it could achieve remote code execution. Update to a fixed version of git and other software that embeds Git (including GitHub Desktop).</div>
    </content>
    <id>https://dgl.cx/2025/07/git-clone-submodule-cve-2025-48384</id>
    <link href="https://dgl.cx/2025/07/git-clone-submodule-cve-2025-48384" rel="alternate"/>
    <published>2025-07-09T17:30:00Z</published>
    <updated>2025-07-09T17:30:00Z</updated>
  </entry>
  <entry>
    <title>Can your terminal do emojis? How big?</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Ancient history meets modern terminals... Looking at varying support for DECDHL in terminals.</div>
    </content>
    <id>https://dgl.cx/2025/06/can-your-terminal-do-emojis</id>
    <link href="https://dgl.cx/2025/06/can-your-terminal-do-emojis" rel="alternate"/>
    <published>2025-06-24T01:58:23Z</published>
    <updated>2025-06-24T01:58:23Z</updated>
  </entry>
  <entry>
    <title>Blink and you'll miss it — a URL handler surprise</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Blink, the mobile shell for iOS had a URL handler that handled more than expected.</div>
    </content>
    <id>https://dgl.cx/2025/06/blink-at-a-url-handler</id>
    <link href="https://dgl.cx/2025/06/blink-at-a-url-handler" rel="alternate"/>
    <published>2025-06-17T22:51:00Z</published>
    <updated>2025-06-17T22:51:00Z</updated>
  </entry>
  <entry>
    <title>Using HAProxy to protect me from scrapers</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A simple anti-scraper solution for haproxy. The goal is to be as simple as possible, so this can be implemented alongside other haproxy rules to control traffic.</div>
    </content>
    <id>https://dgl.cx/2025/04/using-haproxy-to-stop-scrapers</id>
    <link href="https://dgl.cx/2025/04/using-haproxy-to-stop-scrapers" rel="alternate"/>
    <published>2025-04-28T06:16:31Z</published>
    <updated>2025-04-28T06:16:31Z</updated>
  </entry>
  <entry>
    <title>Déjà vu: Ghostly CVEs in my terminal title</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Exploring a security bug in Ghostty that is eerily familiar.</div>
    </content>
    <id>https://dgl.cx/2024/12/ghostty-terminal-title</id>
    <link href="https://dgl.cx/2024/12/ghostty-terminal-title" rel="alternate"/>
    <published>2024-12-31T22:11:37Z</published>
    <updated>2024-12-31T22:11:37Z</updated>
  </entry>
  <entry>
    <title>Restrict sftp with Linux user namespaces</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A script to restrict SFTP to some directories, without needing chroot or other privileged configuration.</div>
    </content>
    <id>https://dgl.cx/2024/10/restricted-sftp-with-userns</id>
    <link href="https://dgl.cx/2024/10/restricted-sftp-with-userns" rel="alternate"/>
    <published>2024-10-26T05:28:05Z</published>
    <updated>2024-10-26T05:28:05Z</updated>
  </entry>
  <entry>
    <title>"[31m"?! ANSI Terminal security in 2023 and finding 10 CVEs</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A paper detailing how unescaped output to a terminal could result in unexpected code execution, on many terminal emulators. This research found around 10 CVEs in terminal emulators across
        common client platforms.</div>
    </content>
    <id>https://dgl.cx/2023/09/ansi-terminal-security</id>
    <link href="https://dgl.cx/2023/09/ansi-terminal-security" rel="alternate"/>
    <published>2023-10-05T08:37:38Z</published>
    <updated>2023-10-16T04:29:20Z</updated>
  </entry>
  <entry>
    <title>NAT-Again: IRC NAT helper flaws</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A Linux kernel bug allows unencrypted NAT'd IRC sessions to be abused to access resources behind NAT, or drop connections. Switch to TLS right now. Or read on.</div>
    </content>
    <id>https://dgl.cx/2022/08/nat-again-irc-cve-2022-2663</id>
    <link href="https://dgl.cx/2022/08/nat-again-irc-cve-2022-2663" rel="alternate"/>
    <published>2022-09-01T10:42:51Z</published>
    <updated>2022-09-28T06:49:20Z</updated>
  </entry>
  <entry>
    <title>ip.wtf and showing you your actual HTTP request</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Using haproxy in strange ways</div>
    </content>
    <id>https://dgl.cx/2022/04/showing-you-your-actual-http-request</id>
    <link href="https://dgl.cx/2022/04/showing-you-your-actual-http-request" rel="alternate"/>
    <published>2022-04-29T12:12:01Z</published>
    <updated>2022-04-29T12:12:01Z</updated>
  </entry>
</feed>
