About me
I am Adrian Junge (vurlo). I started programming in school, and back then I could not have imagined how deep that rabbit hole would go. My first deeper technical interest was algorithms, competitive programming, and the occasional LeetCode problem. Over time that problem-solving curiosity pulled me further into cybersecurity. Today I study computer science at Karlsruhe Institute of Technology (KIT) with a focus on cybersecurity, work in applied computer science at FZI Forschungszentrum für Informatik, and play CTFs as part of KITCTF, the university's CTF team. Lately, I have been digging deeper into bug bounty work, coordinated disclosure, and CVE hunting.
This page is meant as a record of what I have worked on and learned from: reproduced bugs, writeups, disclosures, certificates, and a few milestones along the way.
CVEs
26 entries
CVEs
FFmpeg
DVB subtitle parser heap buffer overflow via WTV file
FFmpeg
DVB subtitle parser heap buffer overflow via WTV fileSummary
FFmpeg 0.5 through versions before 9.0 contained a signed integer overflow in the DVB subtitle parser. A crafted WTV file could wrap the capacity check and make memcpy() write attacker-controlled data beyond a heap buffer, potentially causing memory corruption or code execution.
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Uninitialized heap memory read in the RSCC decoder
FFmpeg
Uninitialized heap memory read in the RSCC decoderSummary
FFmpeg 3.0 through versions before 9.0 failed to validate that an RSCC tile decompressed to its declared size. The decoder could copy the unwritten suffix of a persistent heap buffer into the output frame, disclosing data from prior allocations or previously decoded frames.
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Uninitialized heap memory read in the Screenpresso decoder
FFmpeg
Uninitialized heap memory read in the Screenpresso decoderSummary
FFmpeg 3.0 through versions before 9.0 did not verify that an SPV1 packet's Zlib stream produced a complete frame. Copying the full dimensions from the partially written persistent buffer could expose stale heap contents from earlier allocations or frames.
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Uninitialized heap memory read in the TIFF decoder
FFmpeg
Uninitialized heap memory read in the TIFF decoderSummary
FFmpeg 0.5 through versions before 9.0 copied every declared TIFF strip row even when Deflate produced fewer bytes than required. The decoded image could consequently contain unwritten bytes holding sensitive data from prior heap allocations.
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Heap out-of-bounds write in the CFHD decoder via AVI demuxing
FFmpeg
Heap out-of-bounds write in the CFHD decoder via AVI demuxingSummary
FFmpeg 4.4 through versions before 9.0 failed to enforce the CFHD transform-type-2 output-width invariant. A crafted AVI file could make reconstruction write oversized sample rows beyond the output frame, enabling heap corruption and potentially arbitrary code execution.
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
SuiteCRM
Authenticated SQL injection in the map_markers distance parameter
SuiteCRM
Authenticated SQL injection in the map_markers distance parameterSummary
SuiteCRM through 7.15.1 and 8.10.1 inserted the authenticated map marker endpoint's distance parameter into a SQL expression without numeric validation or parameterization. Attackers could use blind SQL injection to extract or manipulate database data and, with sufficiently privileged MySQL deployments, potentially execute code through SELECT INTO OUTFILE.
References
Disclosure timeline
- Reported the vulnerability to SuiteCRM.
- Report acknowledged by SuiteCRM.
- Report accepted by SuiteCRM.
- CVE assigned and security advisory published.
FFmpeg
Heap out-of-bounds write in the vf_hqdn3d video filter
FFmpeg
Heap out-of-bounds write in the vf_hqdn3d video filterSummary
FFmpeg through 8.1.2 allocated vf_hqdn3d line-history buffers using the initial frame dimensions. If a crafted video increased its resolution while filtergraph reinitialization was disabled, denoise_spatial() could write beyond those undersized buffers and corrupt heap memory.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Uncontrolled resource consumption in the IAMF demuxer
FFmpeg
Uncontrolled resource consumption in the IAMF demuxerSummary
FFmpeg through 8.1.2 trusted an attacker-controlled count_label value before checking the available IAMF OBU data. A 17-byte input could consequently trigger a multi-gigabyte allocation during format probing, exhausting process memory or causing an OOM kill.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Uninitialized memory disclosure in the LCL/Zlib video decoder
FFmpeg
Uninitialized memory disclosure in the LCL/Zlib video decoderSummary
FFmpeg through 8.1.2 treated a short Zlib decompression as non-fatal in the LCL video decoder. The RGB24 conversion path could then copy uninitialized heap contents into the output frame, potentially exposing allocator data and weakening ASLR in long-lived media services.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Integer overflow and heap out-of-bounds write in the MACE6 decoder
FFmpeg
Integer overflow and heap out-of-bounds write in the MACE6 decoderSummary
FFmpeg through 8.1.2 could overflow the MACE6 output sample-count calculation when decoding a crafted CAF file. This produced an undersized allocation followed by a heap out-of-bounds write, potentially causing memory corruption, a crash, or code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Heap out-of-bounds write in the PNG and APNG eXIf encoder
FFmpeg
Heap out-of-bounds write in the PNG and APNG eXIf encoderSummary
FFmpeg through 8.1.2 could underestimate the space required to serialize a crafted PNG eXIf chunk whose IFD entries reused a large value payload. Canonical serialization could then expand beyond the allocation and cause deterministic heap corruption, a crash, or potential code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Heap out-of-bounds write in the vf_quirc video filter
FFmpeg
Heap out-of-bounds write in the vf_quirc video filterSummary
FFmpeg 7.0 through 8.1.2 did not resize the vf_quirc grayscale buffer when input dimensions changed. A crafted PGS/SUP subtitle whose second presentation was larger than its first could therefore overflow the initial allocation and cause heap corruption, a crash, or potential code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Out-of-bounds write in the TDSC video decoder
FFmpeg
Out-of-bounds write in the TDSC video decoderSummary
FFmpeg 2.7 through 8.1.2 reused an undersized reference frame when a crafted AVI file changed dimensions between TDSF frames. The TDSC decoder could consequently write attacker-controlled pixel data beyond the frame buffer, causing heap corruption, a crash, or potential code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Out-of-bounds write via the TY demuxer and Shorten decoder
FFmpeg
Out-of-bounds write via the TY demuxer and Shorten decoderSummary
FFmpeg through 8.1.2 could underflow a packet size while processing a crafted ffconcat file with the -safe 0 flag. The negative size reached memcpy() in the Shorten decoder as a near-SIZE_MAX value, causing out-of-bounds reads and writes, heap corruption, and a potential crash or code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Out-of-bounds write in the vf_floodfill video filter
FFmpeg
Out-of-bounds write in the vf_floodfill video filterSummary
FFmpeg 3.4 through 8.1.2 sized the vf_floodfill traversal stack from the initial frame dimensions. If a later frame was larger while filtergraph reinitialization was disabled, the filter could push points beyond that allocation, corrupting heap memory and potentially causing a crash or code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
FFmpeg
Out-of-bounds write in the vf_swaprect video filter
FFmpeg
Out-of-bounds write in the vf_swaprect video filterSummary
FFmpeg 3.0 through 8.1.2 reused a temporary row buffer sized for a one-byte pixel step across every image plane. Processing an odd-width NV12 frame could therefore copy past the heap allocation for its interleaved chroma plane, causing memory corruption, a crash, or potential code execution.
References
Disclosure timeline
- Reported the vulnerability to the FFmpeg security team.
- Fix pull request created.
- Fix pull request merged.
- Requested a CVE through VulnCheck.
- CVE published.
Joomla CMS
Privilege escalation through com_users batch task
Joomla CMS
Privilege escalation through com_users batch taskSummary
Joomla CMS 4.0.0 through 5.4.5 and 6.0.0 through 6.1.0 were affected by an improper access check in the com_users batch task. Authenticated attackers could abuse the batch flow to escalate privileges.
References
Disclosure timeline
- Reported to the Joomla Security Strike Team.
- Confirmation of the issue and initial patch development.
- Fixed in Joomla CMS 5.4.6 and 6.1.1 and CVE assigned.
Joomla CMS
Authenticated blind SQL injection in com_tags
16 min read
Joomla CMS
Authenticated blind SQL injection in com_tags 16 min readSummary
Joomla CMS 4.0.0 through 5.4.5 and 6.0.0 through 6.1.0 were affected by improper validation of order clauses in com_tags. Authenticated attackers could manipulate generated SQL and infer database contents through blind SQL injection.
References
Disclosure timeline
- Reported to the Joomla Security Strike Team.
- First acknowledgment.
- Confirmation of the issue and initial patch development.
- Fixed in Joomla CMS 5.4.6 and 6.1.1 and CVE assigned.
Joomla CMS
Authenticated blind SQL injection in com_finder
16 min read
Joomla CMS
Authenticated blind SQL injection in com_finder 16 min readSummary
Joomla CMS 5.4.0 through 5.4.5 and 6.0.0 through 6.1.0 were affected by improperly constructed filter clauses in the com_finder search query. Authenticated attackers could influence the SQL query and infer database contents through blind SQL injection.
References
Disclosure timeline
- Reported to the Joomla Security Strike Team.
- First acknowledgment.
- Confirmation of the issue and initial patch development.
- Fixed in Joomla CMS 5.4.6 and 6.1.1 and CVE assigned.
ChurchCRM
Authenticated blind SQL injection in SettingsIndividual.php
ChurchCRM
Authenticated blind SQL injection in SettingsIndividual.phpSummary
In ChurchCRM 7.0.5, settings input handled by SettingsIndividual.php could be used by an authenticated user to influence a SQL query. The issue enabled blind SQL injection behavior that could expose sensitive database contents.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Authenticated blind SQL injection in PropertyAssign.php
ChurchCRM
Authenticated blind SQL injection in PropertyAssign.phpSummary
In ChurchCRM 7.0.5, property assignment handling in PropertyAssign.php exposed a blind SQL injection path for authenticated users. Attackers could infer database contents and potentially alter application data through injected SQL.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Authenticated blind SQL injection in EventNames.php
ChurchCRM
Authenticated blind SQL injection in EventNames.phpSummary
In ChurchCRM 7.0.5, event-name management in EventNames.php exposed SQL injection behavior to authenticated users with access to the affected configuration path. Successful exploitation could expose or modify ChurchCRM database records.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Authenticated SQL injection in MemberRoleChange.php
ChurchCRM
Authenticated SQL injection in MemberRoleChange.phpSummary
In ChurchCRM 7.0.5, authenticated users with group and role management privileges could inject SQL through the MemberRoleChange.php role update flow. Depending on deployment configuration, this could provide database read/write access and potential privilege escalation.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Authenticated blind SQL injection in PropertyTypeEditor.php
ChurchCRM
Authenticated blind SQL injection in PropertyTypeEditor.phpSummary
In ChurchCRM 7.0.5, property type editing in PropertyTypeEditor.php accepted authenticated input that could influence SQL statements. The issue could lead to database compromise, including data extraction or modification.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Authenticated blind SQL injection in SettingsUser.php
ChurchCRM
Authenticated blind SQL injection in SettingsUser.phpSummary
In ChurchCRM 7.0.5, user settings handling in SettingsUser.php exposed an authenticated blind SQL injection path. Attackers could infer and extract database data through timing-based or boolean blind SQL techniques.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
ChurchCRM
Second-order SQL injection via FundRaiserEditor.php
ChurchCRM
Second-order SQL injection via FundRaiserEditor.phpSummary
ChurchCRM 7.1.2 and earlier allowed stored input from FundRaiserEditor.php to become executable SQL later in the fundraiser workflow. This second-order SQL injection could lead to database compromise once the malicious stored value was processed.
References
Disclosure timeline
- Report published to ChurchCRM and initial triage.
- GitHub advisory published and CVE assigned.
Bug bounties
1 finding
Bug bounties
Firedancer
Race condition in the netshred module
Firedancer
Race condition in the netshred moduleSummary
Before Frankendancer Mainnet v0.910.40000 a race condition in the netshred module could lead to a remotely unauthenticated triggerable Denial of Service.
References
Disclosure timeline
- Reported to Immunefi via the Firedancer v1 audit competition.
- First acknowledgment.
- Confirmation of the issue, initial patch development and acknowledgment that the finding is also valid for the Frankendancer bug bounty program.
- Fixed in Frankendancer Mainnet v0.910.40000.
- Bounty payout
Created CTF Challenges
2 challenges
Created CTF Challenges
Scanwich Station
14 min read
Scanwich Station
14 min readSummary
Hybrid web and pwn challenge about mass assignment, QR-code decoding, signed integer overflow, and GLIBC dynamic symbol poisoning. Published for GPNCTF 2026.
Timeline
- Published at GPNCTF 2026.
Smile at me
11 min read
Smile at me
11 min readSummary
Web challenge about URL parser differentials, strict CSP, and an XS-Leak using Scroll-to-Text Fragment behavior with lazy-loaded images. Published for GPNCTF 2025.
Timeline
- Published at GPNCTF 2025.
Certificates
1 certificate
Certificates
Hack The Box Certified Penetration Testing Specialist
8 min read
Hack The Box Certified Penetration Testing Specialist
8 min readSummary
Completed the HTB CPTS path and passed the practical exam on the first attempt, including a full penetration-test report for the exam environment. The work focused on disciplined enumeration, Active Directory attack paths, web findings, and reproducible reporting.
Timeline
- Start of the HTB CPTS path.
- Completed the HTB CPTS path and started the practical exam.
- Passed the practical exam and earned the HTB CPTS certificate.
Talks
5 talks
Talks
Teaching AI to hack Joomla so I can skip my homework
Teaching AI to hack Joomla so I can skip my homework
Summary
How a manual SQLi hunt turned into an AI-assisted Joomla audit and multiple assigned CVEs for a university course.
Timeline
- Talk at KITCTF.
- Final presentation for the course.
- Talk at the OWASP Stammtisch Karlsruhe.
- Upcoming: Talk at the BSides Munich.
KITCTF Web Intro
KITCTF Web Intro
Summary
Introductory web security talk for KITCTF.
Timeline
- Talk at KITCTF.
Relevant achievements
11 events
Relevant achievements
KITCTF
KITCTF
Summary
Selected KITCTF team results across international CTFs and finals qualifiers.
Timeline
- KITCTF #3 at GlacierCTF 2025 #3 at GlacierCTF.
- FluxKITtens #6 at Google CTF 2025 #6 at Google CTF as the FluxKITtens merger team (FluxFingers and KITCTF), qualifying for the Hackceler8 finals in Mexico.
- KITCTF #3 at SwampCTF 2025 #3 at SwampCTF.
- KITCTF at SnakeCTF 2024 finals Qualified for and participated in the SnakeCTF finals in Italy.
- KITCTF #3 at GlacierCTF 2024 #3 at GlacierCTF, qualifying for DHM 2025 as KITCTF team.
- KITCTF #1 at SwampCTF 2024 #1 at SwampCTF.
DHM
DHM
Summary
Deutsche Hacking Meisterschaft (CSCG finals).
Timeline
- DHM 2025 participation Participated in the DHM finals.
- DHM 2024 #1 Placed #1 in the DHM finals.
CSCG
CSCG
Summary
Cyber Security Challenges Germany: Qualified for DHM in 2024 and 2025.
Timeline
- CSCG 2025 top 10 global & DHM qualification Qualified for DHM again and finished top 10 globally.
- CSCG 2024 DHM qualification Qualified for DHM through CSCG.
Immunefi
Immunefi
Summary
Immunefi bug bounty & audit platform for smart contracts and DeFi projects.
Timeline
- Firedancer v1 audit competition Participated in the Firedancer v1 audit competition.