Finding · VUL-0417
Account takeover via stored XSS
LESIS is a partner, not a product. We are a security engineering team that works closely with each client and shapes the scope, the method and the tools around the system in question. No two engagements are alike.
Who we have helped protect
The future of the internet is still unwritten. We are here to make sure the next chapter is written securely.
Our approach is grounded in a thorough attacker's perspective and in research-driven thinking. We understand what each organization needs and adapt to requirements that differ from one to the next, so that the investment in security becomes a differentiator for the business, and the investments already made are preserved. LESIS works with fintechs, retail, healthcare, telecommunications and lawtechs.
As an independent institution, with no ties to other companies or investors, we are neutral when we evaluate products and technology, and our work is judged on its quality alone. Our consultants bring more than ten years of experience and have reported vulnerabilities to D-Link (CVE-2020-9376 and CVE-2020-9377), Apple, Activision, Oracle and MISP (CVE-2020-28043).
Security is not linear. Neither is our execution.
In the traditional model, a single analyst conducts the whole assessment. LESIS runs each project as a collaborative effort, with several specialists working on the same system at the same time, each bringing a different background to it.
More components examined, and more than one way of examining each of them.
No single assumption about the system goes unchallenged.
Each vulnerability is confirmed by more than one engineer before it is recorded.
Time to follow a chain of weaknesses to what it actually exposes.
What we do
Application security, architecture review and software supply chain security, supported by static analysis, fuzzing, reverse engineering and exploit development. We bring these disciplines together to investigate your system.
Map trust boundaries, review architecture and assess security controls to understand how design decisions affect the system's exposure to attacks.
Combine pentesting, code review, static analysis and reverse engineering to find weaknesses, then develop exploits to verify how they can be used and establish their impact.
Build fuzzing harnesses, custom analyzers and instrumentation to reach complex code paths, examine runtime behavior and investigate weaknesses that need a closer look.
How an engagement runs
We work with your engineers to turn a security question into a result they can use: a design, a technical decision, a research finding or a working tool. The methods and deliverables follow the problem. Throughout the engagement, we build the understanding your team needs to carry the work forward.
01 Context
Study the systems, workflows and requirements the work depends on. We examine existing research and available approaches, identify assumptions and establish which questions need further investigation.
02 Scope
Start with what your team needs to understand, decide or build. We agree on the objectives, constraints and deliverables, whether the work concerns an architecture, a security control, a technical investigation or a new tool.
03 Approach
Work through the technical options and tradeoffs with your engineers. Define the methods, interfaces and success criteria so we can assess the result against the problem it needs to solve.
04 Development
Research, experiment and build in iterations, adjusting the approach as the evidence develops. When the scope includes custom harnesses, analyzers or instrumentation, we build them for your engineers to keep using, with instructions for running them and interpreting the results.
05 Validation
Evaluate the result against the agreed criteria and real operating conditions. Document its behavior, limitations and tradeoffs, and resolve gaps with your engineers. Where applicable, deliver reproducible test cases and regression checks so your team can verify fixes and detect recurring weaknesses.
06 Handover
Deliver the agreed artifacts and explain the reasoning through technical walkthroughs. Depending on the scope, these include threat models, root-cause analysis and documented design decisions your engineers can apply as the system evolves. Suitable results can also become public research or open-source contributions, when agreed.
Work with us on a defined technical problem or through an ongoing engineering collaboration. Both bring research, practical guidance and follow-up on the findings.
A scoped engagement with a defined system, technical objective, method and timeline.
Work alongside our engineers on architecture, security controls and the secure development lifecycle of a product as it evolves.
We review designs, map trust boundaries and data flows, and help your team assess security decisions before and during implementation. The collaboration can cover a new system, a migration or changes to an existing product, with focused investigation and validation where needed.
We also build application security into your development cycle (SSDLC). We select, implement and tune SAST, DAST and SCA for your stack and CI/CD pipeline, define the thresholds at which a build fails, and triage what the tools report, so engineers receive findings that are real and actionable rather than a queue of alerts. Where it fits, we use tooling we maintain, such as Security Gate.
Investigate how your system can be compromised, with reproducible evidence and guidance for remediation.
We scope the assessment around the product's threat model and attack surface. Depending on the system, the work combines application and infrastructure testing, architecture and code review, and reverse engineering. We investigate attack chains, explain their impact and retest the fixes.
Build the fuzzers, analyzers and instrumentation needed to investigate your system.
We develop tools around specific formats, interfaces and behaviors, from test harnesses to custom analysis. The scope defines what the tool must examine and how your team will use it, whether for a focused investigation or repeated testing.
Some of that work runs on language models where they do better than a fixed rule: reviewing code changes for security-relevant behavior before they merge, triaging analyzer output against the code it points to, or testing your own model-based features for prompt injection and data exposure. Each one is measured against the cases it must catch before your team relies on it.
We do not run the response; we join the team that does, for one part of it: establishing how the intrusion began, and proving it rather than asserting it.
Most of what an incident demands belongs to the team already handling it: containment, eradication, communication. We do not take that over. We join for the way in. We take the evidence back to the specific weakness that made the intrusion possible and then demonstrate that weakness, reproducing the path instead of naming a probable cause, so the conclusion still holds when someone questions it. What comes out is not a narrative but a finding: an entry point with evidence, a severity, a deadline and a retest, linked on the platform to the affected systems and to the timeline of the investigation it came from. This is worth commissioning for a narrow set of incidents. When the way in is already understood, or when nothing technical was exploited at all, there is nothing for us to prove, and we say so before the work starts rather than after.
We assess what a transaction brings with it, a company, a codebase or a product you are about to adopt, on the timeline the transaction allows.
A decision to acquire, invest in or adopt something is made against a deadline, and usually with less access than an ordinary engagement. We work within both. Before a deal closes we establish the security posture of what is being bought to the depth the available access permits, and separate what is merely untidy from what becomes expensive later. Once it closes, the same engineers examine the acquired systems with the access ownership now allows, and state what has to be resolved before the environments are joined. The same work applies when you are evaluating a product rather than a company: we assess it on your behalf, with no relationship to its vendor. In each case the result is a record on the platform, where every finding carries evidence, severity and a deadline and stays open until it is fixed, so the assessment keeps working for whoever owns the system afterwards.
Work with a security engineering team that builds knowledge of your systems over time.
Together we define priorities and a cadence for design reviews, focused assessments and technical investigation. As your product changes, we revisit its assumptions and help your engineers address new risks. The platform is where that work accumulates: context from every review, assessment and investigation carries into the next, so your security operation stops rebuilding what is already known and each cycle goes deeper into the problem.
Start a conversationConsultancies can deliver our assessments and research under their own brand, or refer clients to us, through the LESIS Partnership Program, without building an internal team.
Research, experience & community
Public vulnerability disclosures, experience inside major technology companies and contributions to the security community through competitions and conference talks.
Members of our team have reported vulnerabilities to D-Link, documented in CVE-2020-9376 and CVE-2020-9377, and to MISP, recorded as CVE-2020-28043. Their work also includes reports to Oracle and Apple, with public records in Oracle's July 2022 Critical Patch Update and Apple's web server security acknowledgements.
Members of our team have competed in Capture The Flag events, taking first place in the CTF at BSides São Paulo and winning a Hackaflag qualifier. LESIS also supports teams in the community: at SBSeg 2026, the GRIS/UFRJ team, supported by LESIS, placed first among 18 teams in challenges covering traffic analysis, forensics and incident investigation.
Our team includes engineers who have worked at companies such as Nubank, Latin America's largest digital bank, and Globo, Brazil's largest media company, as well as at Brazil's leading cybersecurity vendors and other companies just as strong, if less well known. They bring experience with the engineering demands of systems serving millions of people to their work at LESIS.
Members of our team have presented talks at events such as BxSec, Roadsec, BSides Rio de Janeiro and XibéSec. These contributions bring our team's experience into discussions with other security professionals and help share knowledge across the Brazilian security community.
Explore our published research and open-source tools.
Encrypting a customer list before sending it is not the same as revealing only what the other side needs.
When each application masks the same field differently, the fragments can be recombined into the original value.
A coupon that applied to gift cards, and gift cards that could buy more gift cards: credit out of nothing.
Apply configurable security thresholds to GitHub alerts so your team can enforce checks in its CI/CD pipeline.
Examine dependencies in Perl projects for outdated modules and known vulnerabilities, with results that fit development workflows.
Extract and search Slack messages by keyword and date range to support authorized security assessments.
Tell us what you need to find out: about a system you run, a company you are about to buy, a design nobody has built yet, or something that already happened. We come back with the scope, the method and the timeline.