<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://0s1mt.github.io/</id><title>Zer0smt</title><subtitle>Security research, source code analysis, and vulnerability write-ups by Abdulsamet Sunar.</subtitle> <updated>2026-03-24T00:22:41+03:00</updated> <author> <name>Abdulsamet Sunar</name> <uri>https://0s1mt.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://0s1mt.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://0s1mt.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Abdulsamet Sunar </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Config Loader'daki exec() ile RCE: Build Sisteminiz Fazla Güvendiğinde</title><link href="https://0s1mt.github.io/posts/rce-via-exec-in-config-loader-tr/" rel="alternate" type="text/html" title="Config Loader&amp;apos;daki exec() ile RCE: Build Sisteminiz Fazla Güvendiğinde" /><published>2026-03-23T01:00:00+03:00</published> <updated>2026-03-23T01:00:00+03:00</updated> <id>https://0s1mt.github.io/posts/rce-via-exec-in-config-loader-tr/</id> <content type="text/html" src="https://0s1mt.github.io/posts/rce-via-exec-in-config-loader-tr/" /> <author> <name>Abdulsamet Sunar</name> </author> <category term="write-up" /> <category term="source-code-analysis" /> <summary>CI/CD pipeline’larda kullanılan bir Python build/otomasyon aracını inceliyordum. Diğer sekmelerimi kapatıp dikkatimi toplamama neden olan bir şey buldum. Aracın bir config yükleme fonksiyonu vardı. Basit konsept: bir Python config dosyasını oku, ayarları çıkar, dict olarak döndür. Binlerce projede bulunan türden bir utility fonksiyon. Tek farkla — bu exec() kullanıyordu. Ve dosya yolu kullanıc...</summary> </entry> <entry><title>RCE via exec() in a Config Loader: When Your Build System Trusts Too Much</title><link href="https://0s1mt.github.io/posts/rce-via-exec-in-config-loader/" rel="alternate" type="text/html" title="RCE via exec() in a Config Loader: When Your Build System Trusts Too Much" /><published>2026-03-23T00:00:00+03:00</published> <updated>2026-03-23T00:00:00+03:00</updated> <id>https://0s1mt.github.io/posts/rce-via-exec-in-config-loader/</id> <content type="text/html" src="https://0s1mt.github.io/posts/rce-via-exec-in-config-loader/" /> <author> <name>Abdulsamet Sunar</name> </author> <category term="write-up" /> <category term="source-code-analysis" /> <summary>I was auditing a Python project — a build/automation tool used in CI/CD pipelines — when I found something that made me close my other tabs and sit up straight. The tool had a config loading function. Simple concept: read a Python config file, extract the settings, return them as a dict. The kind of utility function that exists in thousands of projects. Except this one used exec() to do it. An...</summary> </entry> <entry><title>Custom Auth Headers Leaked on Redirect</title><link href="https://0s1mt.github.io/posts/source-code-analysis-example/" rel="alternate" type="text/html" title="Custom Auth Headers Leaked on Redirect" /><published>2026-03-12T00:00:00+03:00</published> <updated>2026-03-15T23:37:06+03:00</updated> <id>https://0s1mt.github.io/posts/source-code-analysis-example/</id> <content type="text/html" src="https://0s1mt.github.io/posts/source-code-analysis-example/" /> <author> <name>Abdulsamet Sunar</name> </author> <category term="write-up" /> <category term="source-code-analysis" /> <summary>Reading source code often goes like this: you’re browsing through a library, everything looks fine, you’re about to close the tab — then one line catches your eye. “Why isn’t that header in this list?” And that question is where this write-up starts. Starting Point: A Frozenset in retry.py While reading retry.py, lines 197–199 caught my attention: #: Default headers to be used for ``remove...</summary> </entry> </feed>
