Perpetuum-1 DS and Perpetuum-1 GLMUNCENSOREDFine-tuned on our own private research

Protect your code BEFORE IT SHIPS.

Perpetuum-1 reviews your codebase and every push to find vulnerabilities and recommend fixes. Talaria Security Labs validates the findings against your code.

Hosted by us. No third-party services.

Perpetuum-1 DS and Perpetuum-1 GLM Sample review
acme-wallet-extension DSGLMv4.13.0-rc.2
Mapping attack surface0%

    Perpetuum-1. FINE-TUNED FOR SECURITY.

    Our private research

    Fine-tuned exclusively on over 10,000 paid vulnerability reports from Talaria Security Labs’ own private research.

    Unrestricted analysis

    Exploit chains, payloads, bypasses and proofs of concept are part of the work.

    Two models in every review.

    Perpetuum-1 DS and GLM run together.

    Perpetuum-1 DSBase · DeepSeek V4.1 Flash 1017
    Perpetuum-1 GLMBase · GLM 5.3 Flash

    Built for real research. NOT BENCHMAXXED.

    Talaria Security Labs uses Perpetuum-1 daily to uncover vulnerabilities across a wide range of bug bounty programs.

    We evaluate findings through reproduction and validation against real code.

    Explore case files

    Our research scope

    Web applications
    Frontends, backends, admin panels and business logic
    APIs & integrations
    REST, GraphQL, webhooks and service integrations
    Identity & access
    Authentication, OAuth, sessions and permission boundaries
    Mobile & extensions
    Mobile apps, browser extensions and embedded browsers
    Wallets & transactions
    Signing requests, approvals, wallet connections and asset transfers
    Financial systems
    DeFi, CeFi, DEXs, payments and withdrawal workflows
    Smart contracts
    Contract logic, access controls, upgrades and protocol interactions
    Developer platforms
    Source repositories, package APIs, deploy keys and access tokens

    Follow the evidence FROM CODE TO FINDING

      Full codebase reviews. CONTINUOUS COVERAGE.

      Connect your repository for full codebase reviews and automatic reviews on every push. Findings include evidence and recommended fixes.

      Target

      Perpetuum-1 models

      DSGLM

      Both custom fine-tuned variants run in every review.

      Depth

      Illustrative sample. Runs in seconds.

      acme-wallet-extension @ v4.12.0 Idle
      0Critical
      0High
      0Medium
      0Low
      0PoC verified
      1. Map attack surface
      2. Trace data flows
      3. Match against paid reports
      4. Build PoCs
      5. Verify & score
      • Perpetuum-1 / sample reviewFindings, evidence and fixes.Choose a target and run a sample review.

      CI integration

      Enforce your release policy

      Review your codebase whenever you need, or run reviews from CI. Set which verified findings should block a release.

      example requestPOST /v1/audits
      $ curl https://api.talarialabs.io/v1/audits \
        -H "Authorization: Bearer $TALARIA_KEY" \
        -H "Content-Type: application/json" \
        -d '{ "target": "github.com/acme/wallet-extension",
              "ref": "v4.12.0", "depth": "deep" }'

      The research behind PERPETUUM-1.

      10,000+

      Paid vulnerability reports from Talaria Security Labs’ own private research.

      Across severity levels

      1. 01

        Base models

        Perpetuum-1 DS was fine-tuned from DeepSeek V4.1 Flash 1017; Perpetuum-1 GLM from GLM 5.3 Flash.

      2. 02

        Our own private research

        Our reports cover web applications, DeFi, CeFi, wallets, DEXs and smart contracts. They were sanitized and organized by root cause, exploit chain and reproduction steps.

      3. 03

        Training priorities

        Vendor-assigned severity and payout guided how reports were weighted during fine-tuning.

      Our public record $3.5M+ IN BOUNTIES

      Our team has earned more than $3.5M across HackerOne, Immunefi, Bugcrowd, YesWeHack and direct programs.

      Selected vendor disclosures

      Research credited to Talaria Security Labs and our former name, UGWST.

      Selected public findings.

      Crystal HackerOne H1-65 trophies marked Eliminator and Best Collaboration, beside an event badge. View photograph

      Live hacking awards

      HackerOne

      H1-65 · Singapore

      Best CollaborationEliminator / OKX
      Further public creditsAdobe · T-Mobile · Neplox

      Published recognition

      “Thank you to [Jose] Almeida and Anh Nguyen for working closely with us to remediate the reconciliation issue quickly.”

      CoinbaseWithdrawal research · Jose & AnhRead original publication (opens in a new tab)

      “MetaMask awarded a $120,000 bounty to the United Global Whitehat Security Team (UGWST) for responsibly disclosing a critical clickjacking vulnerability in the MetaMask Extension.”

      René and Jose are also named in MetaMask’s security acknowledgements (opens in a new tab).

      MetaMaskWallet extension · Critical disclosureRead original publication (opens in a new tab)

      “We’re very grateful to the United Global Whitehat Security Team”

      LidoFrontend security · Code injectionRead original publication (opens in a new tab)

      “Congratulations @ledz1996, your report on stealing an API OAuth token was eye-opening and innovative.”

      GitLabOAuth token research · Anh NguyenRead original publication (opens in a new tab)

      “Reddit’s top hacker”

      René Kroka was interviewed alongside Reddit’s CISO, Allison Miller, and application security lead, Spencer Koch.

      HackerOneReddit’s public bug bounty launchRead the interview (opens in a new tab)

      UGWST, the United Global Whitehat Security Team, is the former name of Talaria Security Labs.

      Security reviews, FULLY MANAGED

      Full codebase reviews, validation and remediation support, managed by Talaria Security Labs.

      Coverage options
      Standalone manual auditOptional
      Model accessSelf-serve option
      Request selected access

      Discuss your coverage.

      0 / 3 details
      Selected service

      Managed coverage · Perpetuum-1 DS + GLM

      Change service
      Preferred contact Optional
      Add scope or contextOptional
      How we handle your code
      Lido Published security report — read the acknowledgement (opens in a new tab)

      “We’re very grateful to the United Global Whitehat Security Team for the report”

      UGWST is the former name of Talaria Security Labs.

      Coverage & access

      Before you
      get started.

      Discuss your setup[email protected]
      What does managed coverage include?

      Managed coverage includes Perpetuum-1 reviews, manual security audits, setup, operation and support by Talaria Security Labs.

      We review every finding against your code to further reduce false positives. You receive evidence, recommended fixes and remediation support. Findings awaiting validation are clearly marked.

      Can we review our entire codebase?

      Perpetuum-1 reviews your entire codebase and recommends fixes. Start a full review at any time.

      Both fine-tuned Perpetuum-1 variants, DS and GLM, run together. Every new push is reviewed automatically.

      How is our code handled?

      We agree code access and handling requirements before onboarding. This includes repository permissions, where reviews run and how review data is retained.

      Perpetuum-1’s fine-tuning uses only Talaria Security Labs’ own private research.

      How long does integration take?

      After access approval, connect your repository and start automated reviews within 10 minutes.

      Connect GitHub, GitLab or your existing Git or CI setup. Findings and recommended fixes reach your dashboard or agreed channels, including Slack, Microsoft Teams, Discord, email and webhooks.

      How are fixes recommended and applied?

      Perpetuum-1 recommends fixes for identified vulnerabilities. Talaria Security Labs explains the findings and supports your team through remediation.

      Your team reviews and applies the changes, and controls when they are released.

      What happens after we request access?

      Talaria Security Labs agrees the scope with your team and arranges onboarding or an audit schedule.

      Talaria Security Labs Formerly UGWST

      Selected research

      All research

      Our history

      2019Before UGWSTPassbolt, IBM and Invision findings; our early file-upload research

      Individual research before UGWST was formed.

      2020UGWST foundedApple’s Gatekeeper fix and GitLab’s Most impactful finding award
      2021GitLab and MicrosoftRepository and authentication findings; our interview with Reddit
      2022MetaMask, Lido and BraveA $120,000 bounty for critical wallet research
      2023Talaria Security LabsAurora disclosures and Immunefi ELITE recognition
      2024Audits and bug bounty researchFuel and Moonbeam research, ENS rewards and Immunefi’s leaderboard
      2025HackerOne H1-65OKX Eliminator and shared Best Collaboration awards in Singapore
      2026Perpetuum-1 releasedCoinbase research and managed security coverage
      • Coinbase · Stellar withdrawals

        We found a mismatch between completed on-chain transfers and Coinbase’s internal withdrawal status. Coinbase fixed it and confirmed no customer funds were affected.

        Coinbase report
      • Perpetuum-1 release

        We released Perpetuum-1 for security code reviews, fine-tuned exclusively on over 10,000 paid reports from our own private research. The training covers web applications, DeFi, CeFi, wallets, DEXs and smart contracts.

      • Managed security coverage

        Perpetuum-1 reviews codebases and every code push. Managed coverage includes manual audits, validation against your code and full support from Talaria Security Labs.

      Research is listed by publication or disclosure year.

      Talaria Security Labs

      Blog

      Security research and company updates.

      All articles

      22 articles

      Company updateTalaria Security Labs

      Perpetuum-1: fine-tuned on our own research

      We fine-tuned Perpetuum-1 exclusively on our own private security research: more than 10,000 paid vulnerability reports.

      Two Perpetuum-1 model cores converge through a validation shield before producing reviewed findings.
      IllustrationProduct

      Our own research, from report to training data

      Every report in the training material comes from our own paid research. It covers web applications, frontends, backends, DeFi, CeFi, wallets, DEXs and smart contracts. We completed fine-tuning in November 2026.

      Used in our daily work

      We use Perpetuum-1 to discover vulnerabilities across bug bounty programs. We did not fine-tune it to inflate benchmark scores. We assess it through the work we use it for: finding vulnerabilities, explaining their impact and identifying fixes.

      Codebases and every new push

      Perpetuum-1 can review your codebase in full. Once integrated, it also reviews every code push automatically and suggests fixes. Both custom variants, Perpetuum-1 DS and Perpetuum-1 GLM, run in every review.

      Integration typically takes around ten minutes once access is approved.

      Managed coverage

      Managed coverage includes Perpetuum-1, manual security audits and full support. Talaria Security Labs validates findings against your code to further reduce false positives and helps your team resolve them. You receive findings in the dashboard and through your preferred channel, including Slack, Microsoft Teams or email.

      Explore managed coverage

      Research noteCoinbase

      Stellar withdrawal reconciliation at Coinbase

      We found a flaw in Coinbase’s Stellar withdrawal handling: a transfer could succeed on-chain while the same withdrawal was treated as failed internally.

      A signed transfer sits inside a larger transaction envelope, branching to a successful on-chain state and a conflicting internal state.
      IllustrationExchange infrastructure

      A completed transfer marked as failed

      The issue arose when a Stellar transfer was wrapped in a fee-bump transaction. The transfer completed on-chain, but Coinbase’s internal withdrawal handling could treat the original transaction as failed. That mismatch created a risk of counting the same spend twice.

      How fee-bump transactions work

      Stellar allows another account to pay a transaction’s fee. The fee payer wraps an already signed transaction in a new envelope and adds a separate signature. The original transfer does not need to be signed again.

      The fee-bump result includes the result of the inner transaction. A withdrawal system needs to reconcile both: a different outer envelope does not mean the underlying transfer failed.

      Coinbase’s response

      After our report, Coinbase paused the affected flow, confirmed the fix and restored processing. Coinbase reported that no customer funds were affected and that it found no exploitation beyond the proof of concept and internal tests.

      Jose Almeida and Anh Nguyen carried out this research. Coinbase credits them in its disclosure; the finding was discovered manually.

      Company updateHackerOne

      OKX Eliminator and Best Collaboration at HackerOne H1-65

      We received the OKX Eliminator award and shared Best Collaboration honors at HackerOne’s H1-65 live hacking event in Singapore.

      Two sculptural award forms pair an elimination mark with interlocking collaboration links for the H1-65 event.
      IllustrationLive hacking

      Our team at H1-65

      Jose Almeida and Anh Nguyen represented Talaria in Singapore. The Best Collaboration award was shared with other H1-65 participants.

      The H1-65 trophies

      Our OKX Eliminator and Best Collaboration trophies from Singapore. HackerOne published the full event results on 6 October 2025.

      HackerOne H1-65 Eliminator / OKX and Best Collaboration trophies.Original photograph
      H1-65, Singapore · OKX Eliminator & Best Collaboration

      Research noteFuel Wallet

      Fuel Wallet: hostname truncation in approval prompts

      Our Fuel Wallet report showed how a long hostname could hide the domain controlling a site in the wallet’s approval prompts.

      A shutter obscures the end of a long hostname; the expanded version exposes attacker.test as the controlling domain.
      IllustrationWallet origin display

      A familiar name, a different domain

      By constructing a long subdomain, we could leave a recognizable name visible while pushing the registrable domain outside the displayed label. The prompt could therefore suggest a different site from the one requesting access.

      Our proof of concept followed the wallet connection and signing steps. Exploitation required the user to approve those actions.

      The approval screen needs the full origin

      We recommended showing the requesting origin clearly throughout connection and signing, including when a hostname is unusually long. The domain that controls a request needs to remain visible.

      We submitted report #32459 to the Fuel Network Attackathon on 22 June 2024 under UGWST_COM. Immunefi classified the finding as Low severity.

      Research noteTalaria Security Labs

      Administrator access through a Web3 analytics service

      During a Web3 security audit, we found that an anonymous analytics account had administrator permissions, including control over scripts delivered to the application’s frontends.

      An anonymous account connects to script-publishing permissions that fan out to three frontend surfaces.
      IllustrationFrontend security

      The access was in a connected service

      The account could create users, change permissions and modify scripts delivered to multiple frontends. Those permissions gave us a route into the application through its analytics service.

      What the permissions allowed

      Analytics and tag-management scripts run inside the application’s pages. Anyone who can change them can affect the code users’ browsers execute. Reviewing the application repository alone would have missed the account that controlled this access.

      Reporting and remediation

      We documented the permissions and their effect on the frontend, reported the finding to the client and worked with the development team on remediation. The audit took place in May 2022; we first published Jose Almeida’s write-up in January 2024.

      The client and analytics provider remain unnamed.

      Check who can publish scripts

      Include connected analytics and tag-management accounts in a frontend security review. Check who can edit scripts, who can grant that permission and whether anonymous or default accounts inherit it.

      Research noteAurora

      Stored XSS and SSRF in Aurora and Rainbow Bridge frontends

      We reported stored cross-site scripting and server-side request forgery affecting several Aurora and Rainbow Bridge frontends.

      Two elevated frontend platforms connect across a bridge to a shared component, with separate paths into each application.
      IllustrationWeb3 frontends

      Next.js configuration across the frontends

      Our findings involved Next.js configurations used by multiple web interfaces. They exposed stored XSS and SSRF in the applications around Aurora and Rainbow Bridge.

      The affected surfaces were the frontends. Their configuration and request handling needed review alongside the protocols they exposed to users.

      Bounty and disclosure

      We received a reward of $50,000 equivalent in AURORA tokens on 1 December 2022. Aurora published the findings and reward in its bug bounty report in November 2023.

      Research noteMetaMask

      MetaMask Mobile: origin spoofing and unprompted downloads

      We reported two issues in MetaMask Mobile: a redirect that could misrepresent a dApp’s origin and an Android deeplink that could start a file download without a prompt.

      Two phone outlines show a redirected origin and a separate deeplink path leading to a downloaded file.
      IllustrationMobile wallet security

      A redirect changed the displayed origin

      A malicious dApp could use a redirect to appear under a different origin in MetaMask Mobile. The attack still required the user to connect their wallet to that dApp.

      We submitted report #1751333 on 26 October 2022. MetaMask resolved it and rated it High, with a CVSS score of 7.1. The report became public on 4 July 2023.

      An Android deeplink started a download

      The second issue allowed a deeplink to trigger a file download without the expected user prompt on Android. We submitted report #1768166 on 9 November 2022; MetaMask resolved it at Medium severity and disclosed it on 7 July 2023.

      The demonstrated impact was an unwanted download. We did not demonstrate code execution through it.

      Research noteMetaMask

      A $120,000 clickjacking finding in MetaMask

      We received a $120,000 bounty from MetaMask for a critical clickjacking vulnerability in its browser extension. René Kroka and Jose Almeida reported it under UGWST.

      Offset interface planes place a visible click target above a different underlying interaction, with a click traced through the layers.
      IllustrationBrowser extension security

      Interfering with an approval

      Our finding involved extension resources exposed to web pages. A malicious site could use those resources to manipulate the context around an approval interaction and mislead the user into clicking.

      SlowMist’s subsequent reproduction examines the exposed resources and the phishing-warning page involved in the attack.

      Fixed in version 10.14.6

      MetaMask patched the browser extension in version 10.14.6 and reported no known exploitation. The issue affected the extension; its mobile application was not affected.

      Independent analysis

      SlowMist published a technical reproduction after the disclosure. Intigriti later used our finding in its guidance on assessing business impact, showing why a familiar vulnerability class can still have critical consequences.

      Research noteBrave

      Origin display in Brave Wallet approvals

      Our work on Brave Wallet led to clearer domain display and changes that keep the requesting origin visible during signing and transaction approval.

      A single visible application origin remains attached to connection, signing and approval steps.
      IllustrationWallet interface security

      Long hostnames hid the controlling domain

      René’s report led to Brave emphasizing the registrable domain and wrapping long hostnames instead of clipping them. A familiar-looking subdomain should not hide the domain that actually controls the request.

      Later prompts lost the origin

      We also reported that the origin shown during connection was missing from several subsequent wallet actions. Brave added it to transaction confirmations, signing prompts and suggested-token panels.

      The changes shipped

      Brave merged the hostname change in March 2022 and the additional approval-panel work on 20 April. Its QA team verified the changes across Linux, Windows and macOS in May. Version 1.39.111 includes the domain-display improvement and credits René in the release notes.

      Research noteLido

      Code injection through Lido’s image endpoint

      We found a critical code-injection issue in Lido’s web frontends. Lido patched all reported domains within 5.25 hours of our report.

      A missing portion of an image response passes through content interpretation and becomes code on frontend origins.
      IllustrationDeFi frontend security

      An image request returned executable content

      A Next.js image endpoint reflected input in its missing-file response without the content-type protections needed to prevent MIME sniffing. The browser could interpret the response as code running under the affected Lido origin.

      Four frontends and a separate redirect issue

      We reported code injection affecting four frontend domains. We also found an open redirect on two informational sites. Lido classified the code injection as Critical and the redirect as Low.

      Patched within 5.25 hours

      We submitted the findings on 21 February 2022. Lido patched all reported domains within 5.25 hours and reviewed its access logs, reporting no affected users.

      Lido awarded separate Critical and Low-tier bounties and published its account on 1 March. The bounty amounts were not disclosed.

      Research noteGitLab

      GitLab: file access, token exposure and impersonation

      Our GitLab research uncovered server-file access through Wiki rendering, an exposed Workhorse token and an impersonation issue in GitLab Shell. Anh Nguyen reported all three.

      Three separate paths expose a file, an internal token and a key identity across a shared application boundary.
      IllustrationApplication security

      Reading server files through a Wiki page

      With Kroki integration enabled, we could use a crafted AsciiDoc Wiki page to bypass restrictions on PlantUML includes. Asciidoctor’s attribute and counter handling allowed local file content to be included in encoded diagram requests.

      GitLab assigned CVE-2021-22203 and awarded $5,600 for the server-file disclosure. We submitted the report on 8 February 2021; it was disclosed on 21 May.

      Leaking an internal Workhorse token

      A Terraform-state upload route and Workhorse interpreted a crafted path differently, exposing a valid internal JWT. We then used that token against a Geo-related path to demonstrate repository push access beyond the intended permissions.

      We submitted the report in November 2020. GitLab assigned the High-severity CVE-2021-22190 in April 2021. The full report became public in July 2022, with a $10,000 bounty.

      An SSH certificate name became a key identifier

      GitLab Shell used a regular expression that did not match the entire input. A specially formed username in an SSH certificate could be interpreted as another user’s key identifier.

      This required a certificate-based setup and a certificate authority willing to issue the crafted principal. GitLab assigned CVE-2021-22254 and rated the impersonation issue Low.

      InterviewReddit / HackerOne

      René Kroka on Reddit’s bug bounty program

      René joined Reddit’s Allison Miller and Spencer Koch for a HackerOne interview when Reddit opened its public bug bounty program. At the time, he was the program’s top hacker.

      Three restrained conversation forms exchange alternating traces, bringing researcher and security-team perspectives together.
      IllustrationInterview

      Talking with Reddit’s security team

      The conversation covered Reddit’s program, how its security team handled reports and our experience researching the platform. René spoke alongside Allison Miller and Spencer Koch in the interview published by HackerOne on 14 April 2021.

      Why we return to a target

      René discussed revisiting endpoints, following product changes and returning with new ideas. Familiarity with a system can reveal things a first pass misses, particularly as the product evolves.

      Research noteGitLab

      OAuth token theft through GitLab Pages

      A GitLab Pages authorization flow could send an OAuth code to a domain we controlled. Anh Nguyen’s report earned GitLab’s Most impactful finding award for 2020.

      An authorization service sends its result along a redirected path into a different domain enclosure.
      IllustrationAuthorization

      An authorization code reached the wrong domain

      In the GitLab Pages custom-domain flow, an OAuth authorization code could be delivered to a domain we controlled. A legitimate authorization process was sending its result outside the intended destination.

      Anh submitted the report on 16 November 2020 under ledz1996.

      GitLab’s Most impactful finding award

      GitLab selected Anh’s report for the award in its 2020 bug bounty review. The review, published on 14 December, recognizes the impact of the token-theft finding.

      Research noteLINE

      LINE for macOS: filename traversal and upload filtering

      We combined two file-handling issues in LINE for macOS: a download-filename flaw and a LINE Keep upload-filter bypass. The demonstrated execution chain required Gatekeeper to be disabled.

      A download moves through a filesystem tree and an open checking boundary into a local terminal context.
      IllustrationDesktop application security

      Combining upload and download behavior

      A crafted filename could launch an installed application without passing arguments. We combined this behavior with a LINE Keep upload-filter bypass and a downloaded Terminal file.

      Gatekeeper was a prerequisite

      The code-execution chain worked with Gatekeeper disabled. This requirement limited the affected configuration; the same chain did not establish code execution on a default macOS installation.

      Report and disclosure

      Jose Almeida and René Kroka submitted the joint report on 2 November 2019, before UGWST was founded. LINE disclosed it on 31 July 2020 as report #727727.

      Research noteValve

      Trade-offer spoofing in Steam Chat

      We found that an external URL could appear as a trusted trade offer in Steam Chat, giving a misleading link the appearance of a familiar Steam interaction.

      A familiar exchange-shaped message leads out to a separate external destination, illustrating the gap between presentation and link target.
      IllustrationInterface trust

      The link looked like a trade offer

      Steam Chat rendered the URL using the presentation associated with a trade offer, even though the destination could be an external site. That gave an attacker a way to disguise where a click would take the user.

      The finding concerned link presentation and phishing risk. It did not allow automatic account access or inventory transfers.

      Valve resolved the report

      Jose submitted the finding on 24 November 2019. Valve classified it as Medium severity, marked it resolved and disclosed it on 19 February 2020.

      Research noteApple

      CVE-2020-3866: a macOS Gatekeeper bypass

      Our report to Apple identified a way to bypass macOS Gatekeeper checks through an attacker-controlled NFS mount. Apple addressed it as CVE-2020-3866.

      A file takes a copper route around an architectural checking gate through a separate NFS mount path.
      IllustrationPlatform security

      Gatekeeper and an NFS mount

      The issue involved autofs and an attacker-controlled NFS mount. A malicious application could use this path to bypass Gatekeeper’s checks.

      Apple’s security update

      Apple added improved checks in its 28 January 2020 macOS security release. Its advisory credits Jose Castro Almeida and René Kroka for the report and tracks the issue as CVE-2020-3866.

      Research noteMapbox

      Mapbox Styles API: stored XSS in Internet Explorer 11

      We found stored XSS in the Mapbox Styles API when Internet Explorer 11 interpreted a JSON response as executable content.

      Data braces and executable syntax sit on opposite sides of an interpretation boundary, representing the browser’s treatment of a JSON response.
      IllustrationBrowser content handling

      JSON interpreted as code

      The Styles API returned JSON, but Internet Explorer 11’s MIME sniffing could treat attacker-controlled content in the response as executable code. The response lacked X-Content-Type-Options: nosniff.

      Mapbox added response protections

      René submitted the report on 24 December 2019. Mapbox deployed a fix on 8 January 2020, adding X-Content-Type-Options: nosniff and X-Frame-Options: DENY. The report was disclosed on 21 January.

      Research noteLINE

      Server-side request forgery in LINE’s image resizer

      We found that LINE’s public image resizer could make HTTP requests to services inside its internal network.

      A public image frame feeds a central server, which routes HTTP requests into three services inside an internal network enclosure.
      IllustrationServer-side request forgery

      The image server could reach internal services

      The resizer accepted an image URL and fetched it server-side. We could use that request to scan internal ports and collect service banners. If an internal image’s URL was known, the endpoint could also retrieve it.

      The access was limited to HTTP requests; it did not provide arbitrary local-file access or access over every network protocol.

      Report and resolution

      Anh submitted report #707014 on 3 October 2019. LINE resolved the finding and awarded $1,350. The report became public on 2 August 2020.

      Research noteInvision / PUBG / Evernote

      Invision Community XSS in PUBG and Evernote forums

      Our Gfycat OEmbed finding in Invision Community could turn embedded forum content into stored XSS. It also affected the Invision-based forums used by PUBG and Evernote.

      One embedded-content component branches into three discussion surfaces, showing a single upstream issue propagating through shared software.
      IllustrationShared application components

      Embedded content persisted the payload

      A reflected-XSS issue could become stored XSS through the forum’s embedding flow. A malicious URL preserved in a post or profile could expose visitors when they viewed that content.

      One component, multiple affected forums

      Invision fixed the issue in version 4.4.9.1, released on 20 December 2019, and credited René Kroka for the Gfycat OEmbed report.

      PUBG and Evernote also disclosed the effect on their forums, naming the same fixed version. Their reports became public on 2 and 3 January 2020. These disclosures followed the same component vulnerability across its installations.

      Research noteGitLab

      GitLab: type confusion and upload validation

      Our GitLab reports examined how object types, upload paths and permissions were checked between components. Anh Nguyen’s work resulted in seven CVEs covering these issues.

      A faceted object approaches a differently shaped type boundary while layered upload metadata carries a nested path through the next component.
      IllustrationApplication security

      GraphQL accepted the wrong object type

      We found that a snippet-deletion mutation accepted a DiffNote identifier. The deletion service then followed that object’s repository relationship, allowing a user with Maintainer permissions to delete more than the intended snippet. GitLab assigned CVE-2020-13317.

      A separate annotation-deletion path accepted a Project identifier from a user with Developer permissions. That report became CVE-2020-13341. GitLab awarded $4,000 and $5,000 for the two findings respectively.

      Package uploads bypassed validation

      In the Conan package API, crafted parameters could register a server-side file as package content. This produced limited file disclosure, tracked as CVE-2020-13298.

      Nested multipart upload metadata provided another route around upload protections, tracked as the High-severity CVE-2020-13356. In the Maven API, differences in encoded-path handling between Workhorse and Rails allowed an access-control bypass, tracked as CVE-2020-15525.

      Import responses exposed object existence

      A group-import endpoint returned different responses depending on whether an object existed. We used those differences to determine existence without obtaining the object’s contents. GitLab assigned CVE-2020-13268.

      A deploy key reached a restricted repository

      A public project could still restrict its repository to members. We demonstrated that a deploy key associated with another project could clone that restricted repository. GitLab tracked the access-control issue as CVE-2020-13303.

      Research notePassbolt

      Passbolt: stored XSS, CSV exports and autofill

      Our early password-manager research included five Passbolt findings: two stored-XSS issues, tabnabbing, CSV formula injection and incorrect-domain autofill suggestions. René reported them before we formed UGWST.

      A large credential-vault keyhole connects through two deliberate action points to a suggestion outside its original domain boundary.
      IllustrationPassword-manager security

      Setup, tags, links and exports

      The first four reports covered stored XSS in setup names and tag autocomplete, tabnabbing through a newly opened tab, and formula injection in CSV exports. Passbolt fixed the first three in version 2.11.

      The CSV finding remained unfixed. Passbolt classified it as “Won’t Fix,” citing the user interaction and spreadsheet behavior involved.

      Autofill suggestions on the wrong domain

      The fifth finding involved credential suggestions appearing for an incorrect domain. Exploitation required two explicit user actions.

      René reported the issue on 17 November 2019. Passbolt shipped a fix in version 2.11.2 on 21 November and published its disclosure on 26 November.

      Research noteJose Almeida

      File uploads: from validation to document review

      Our early file-upload research followed files beyond the upload form: through validation, browser handling and the staff workflows that opened them. Jose published the original articles in 2019, before UGWST was formed.

      An accepted file follows a folded storage route into two later contexts: a browser interpreting content and a person reviewing a local document.
      IllustrationResearch methodology

      Accepted as a file, executed as HTML

      In the first investigation, filename validation and file-signature checks accepted content that could later be interpreted as HTML. The application served the upload from its own domain.

      Internet Explorer and the pre-Chromium version of Edge could interpret that content as HTML instead of keeping it in the expected image context. The finding depended on the validator, the response and the browser’s handling of it.

      Following an upload into document review

      In the second investigation, an identity-verification upload kept an attacker-controlled file extension but used a hashed filename that prevented direct retrieval. We used an HTML callback to trace where it went.

      The callback showed the file being opened from a local Downloads folder. That revealed how uploaded documents reached a reviewer’s machine. The test used HTML; we did not upload malware or demonstrate a reverse shell.

      The original articles

      Jose published the two write-ups in May and September 2019. Both describe unnamed private programs.

      HackerOne · H1-65

      The event trophies

      Original photograph of the HackerOne H1-65 Eliminator and Best Collaboration trophies.
      Best Collaboration · Eliminator / OKXOfficial results