Status at revision 1.0. The campaign ran from 2026-10-20T18:02Z to 2026-10-22T09:01Z, in four phases. Our web-server logs record no request from a Tor exit relay between 09:01:32Z and 14:41Z on 2026-10-22. Every defect it exposed has a deployed mitigation, listed in Section 7. Some items remain open and are listed there too, including a public demo environment that has not reset cleanly since 04:12Z (Section 4). This advisory is incident reporting about our own systems. It names no actor.
Standfirst. An automated web-assessment tool read our security.txt and disclosure policy, later labelled its own traffic "authorized", and spent three days on the features any member of the public can use: the point-of-sale demo, the e-signature product's free sign-up, and the merchant portal's sign-in. First it came from a single address, then from hundreds of Tor exit relays. It caused a 29-minute outage of our operations application. It also registered 234 e-signature webhooks, 225 of them pointed at a public DNS-rebinding service aimed at loopback, Docker-bridge and cloud-metadata addresses. All 7,371 webhook deliveries failed. We found no evidence that any internal service answered, that any account outside our public demos was entered, or that customer data was reached. See Section 6, "What we did not find".
A safe-harbour clause is not an authorization. The tool fetched our security.txt ten minutes after its first request and our disclosure policy within the hour. About ninety minutes after that, it began putting the words "authorized" and "AuthorizedAssessment" in its own User-Agent. Nobody authorized it. A line in a policy that promises not to pursue good-faith researchers does not permit anyone to generate load, create accounts, or probe our internal network.
Every count in this advisory comes from our own web-server access logs, application logs and database, and the window and source of each is stated. None of it can be reproduced from outside, because it is our telemetry. What a reader can check is the indicator feed. The DNS-rebinding host names decode to the addresses we state (Section 5), and the Tor relays are in the Tor Project's public exit lists for those dates.
Scope limitation, please quote this alongside any part of this advisory
This advisory reports what our own logs and databases show about traffic against our own services between 2026-10-20 and 2026-10-22. It establishes what reached us, what our systems did in response, and what we changed.
We attribute the activity to no named person, group, company or nation-state. We treat the two days as one campaign with medium confidence. That rests on one shared sign-up domain and a consistent pattern of behaviour, and the domain belongs to a public disposable-mail service that unrelated people also use. The Tor exit relays in our indicator feed are shared anonymity infrastructure. They are listed so that defenders can correlate traffic, and must never be used to attribute it to the relay operators or to anyone else.
"We found no evidence" means exactly that: we looked in the places named in Section 6 and found nothing. It is not proof that nothing happened outside what those logs record. Where a statement is an inference rather than an observation, the text says so.
Several of our products let anyone try them without talking to us first. The point-of-sale system has a public demo with a "request a walkthrough" form. The e-signature product has a free sign-up. The merchant portal sends a one-time code to anyone who types an email address. For three days in October an automated tool worked through all of them. On the first day it sent 195,070 requests from one address and filled our demo-request queue with fake companies. Each fake request triggered a notification inside our operations application, and a defect in that notification code leaked database connections until the application stopped answering for 29 minutes. On the second day it switched to Tor, opened two free e-signature accounts with throwaway email addresses, and registered 234 webhooks. A webhook is a URL our server calls when a document event happens. Almost all of these pointed at a public "DNS rebinding" service that makes one hostname alternate between a harmless public address and a private one, a known way to trick a server into calling its own internal network. Our server made 7,371 of those calls. None succeeded. On the third day it came back twice more, mostly against the public demos themselves. We fixed the connection leak, made webhook delivery connect only to the address it had already checked, stopped honouring a header that let a disguised request slip past one of our filters, refused sign-ups from throwaway and non-existent email domains, and blocked Tor exit relays from our sign-up, sign-in and one-time-code endpoints. We found no evidence that the campaign reached customer data, entered any real account, or got an answer from any internal service.
rbndr.us. The targets they encode include 127.0.0.1, the cloud metadata address 169.254.169.254, and several Docker bridge gateways, on ports for the Docker API, PostgreSQL, Redis, Memcached, Elasticsearch and Consul. 7,371 deliveries were attempted and none returned a 2xx status. Every internal target we probed from inside the delivering container either timed out or refused the connection: the Docker-bridge gateways on 2375, 5432 and 6379, and loopback on 2375.X-HTTP-Method-Override. A GET carrying that header ran the POST handler, while our reverse proxy logged and filtered it as a GET. Between 17:58Z and 19:55Z on 2026-10-21 this created 16 demo-request records past a rule keyed on the method. Our edge now rejects any request that carries the header.402, because sending requires a paid account.All times UTC. Counts come from our web-server access logs unless another source is named.
| Time | Event |
|---|---|
| 2026-10-20 18:02 | Phase 1 begins. First request from 52.128.241.188 at 18:02:42. It fetches /.well-known/security.txt at 18:12:32 and our disclosure policy at 18:58:41. |
| 2026-10-20 20:31 and 20:38 | The User-Agent tokens (recon; authorized) and LiftedAuthorizedAssessment first appear. |
| 2026-10-20 from 18:02 | 195,070 requests in total from that address, across our main site, operations console, point-of-sale demo and merchant portal. They include 16,235 merchant-portal code guesses (all refused) and a dictionary of sensitive-file paths. Fake demo requests and sign-ups use addresses at maxxspace.com, a disposable-mail domain. |
| 2026-10-20 19:59 to 20:28 | Outage. Our operations application stops answering. Its database pool is exhausted by a connection leak in the notification path that each demo request triggers. |
| 2026-10-20 20:39 | Fix for the connection leak merged and deployed. The same evening the address is blocked at our host firewall. |
| 2026-10-21 02:22 | Phase 2 begins over Tor. First request from a Tor exit relay to a sign-up or sign-in endpoint. Over the day: 46,239 requests from 457 distinct Tor exits. |
| 2026-10-21 03:36 | Self-serve flows in the operations application and the point-of-sale demo start refusing disposable email domains. Edge rate limits recorded. |
| 2026-10-21 08:19 and 08:43 | Two free e-signature accounts created over Tor, each verified by phone, both with throwaway email addresses. |
| 2026-10-21 08:22 to 09:46 | 234 webhooks registered on those two accounts, 225 of them on rbndr.us hosts. Every agreement event then triggers deliveries: 7,371 in total, none successful. |
| 2026-10-21 17:58 to 19:55 | The method-override bypass creates 16 demo-request records. |
| 2026-10-21 ~20:20 | Tor exit relays blocked from sign-up, sign-in and one-time-code endpoints at our edge. The list is refreshed hourly from the Tor Project. Requests carrying X-HTTP-Method-Override are rejected at the edge. |
| 2026-10-21 22:05 to 22:06 | Fixes merged and deployed: webhook delivery pinned to the vetted address, webhooks restricted to paid accounts, sign-up email policy applied to e-signature, and demo requests refused when their email domain does not exist. |
| 2026-10-22 02:09 to 02:13 | Phase 3. About fifteen variations on the demo-request endpoint from two Tor exits: trailing semicolons, upper-case paths, alternative methods, an invented company domain. All refused. |
| 2026-10-22 06:54 to 09:01 | Phase 4. 4,205 requests from 43 Tor exits against the public point-of-sale and vending demos, entered through their public demo entry points. Demo data edited. Demo provisioning and reset refused by our CSRF and deny-by-default gates. |
| 2026-10-22 09:01:32 | Last request from a Tor exit relay in our web-server logs. Nothing further from Tor through 14:41Z, when this advisory was prepared. |
| 2026-10-22 | Clean-up. The two e-signature accounts are suspended and their webhooks removed. Fake demo requests, leads and tasks deleted after a backup. |
| Area | What happened | Status |
|---|---|---|
| Availability | Our operations application, and the services it hosts (the e-signature product and the merchant portal), were unavailable for 29 minutes on 2026-10-20. | Fixed |
| Data integrity: our sales queue | Fake demo requests, leads, follow-up tasks and four draft merchant applications were created with invented company names, and have been removed from our systems. Draft applications carrying the same invented details were also created at our payment processor, and their withdrawal is pending. The free sign-up of our open-source shipping tool issued eight API keys to throwaway addresses, and those are under review. | Partly open |
| E-signature | Two free accounts, 149 draft agreements addressed only to throwaway addresses, and 234 webhooks. Nothing was sent to a real signer. | Suspended |
| Public demos | Demo customers, products, roles and team chat edited, and two seeded demo-machine records toggled. These are fictional businesses with no real customers and no physical machines. One demo environment has failed its scheduled rebuild since 04:12Z on 2026-10-22 with a duplicate-key error. We have not established whether the campaign caused that. | Open |
| Confidentiality | We found no evidence that customer, merchant or cardholder data was reached. See Section 6. | None found |
A host name of the form <hex-ipv4>.<hex-ipv4>.rbndr.us answers each DNS lookup with one of the two encoded addresses, chosen at random, with a very short time-to-live. A server that checks "is this address public?" on one lookup and then connects on a second has roughly even odds of passing the check with the public address and connecting to the private one. Each webhook paired a public address with a private target. Decoding the 225 rebinding hosts gives these targets, by number of webhooks:
| Private target | Webhooks | What lives there on a typical host |
|---|---|---|
127.0.0.1 | 50 | Loopback services |
172.24.0.1 | 45 | A Docker bridge gateway |
172.17.0.1 | 38 | The default Docker bridge gateway |
169.254.169.254 | 9 | Cloud instance metadata, including credentials on some clouds |
Other 172.16.0.0/12 bridge addresses | Remainder | Container networks |
| Our own public address (not private) | Included in remainder | Our server, called back through its public interface |
The ports probed included 2375 (the unauthenticated Docker API), 5432, 6379, 11211, 9200 and 8500. The other nine webhooks used ordinary host names.
Observed: 7,371 deliveries, every one for the event envelope.sent, none returning a 2xx status. About 1,000 of them received any HTTP status at all. Each of those went to a public host, or to a rebinding name that resolved to its public half at that moment, and returned 3xx or 4xx. Connecting from inside the delivering container to the Docker-bridge gateways on 2375, 5432 and 6379 timed out, and connecting to loopback 2375 was refused. Inferred: no internal service was reachable on the combinations probed, so the delivery responses carried nothing of value. We note plainly that this is a property of our network layout, not of the guard (Section 8).
Our edge rule for the demo-request endpoint was keyed on the HTTP method. The point-of-sale application's web framework honoured X-HTTP-Method-Override, so a request the proxy saw and logged as GET /demo/lead was handled by the application as a POST. Sixteen records were created this way on 2026-10-21. The durable lesson: a filter keyed on the method has to agree with the application about what the method is. We now reject the header at the edge, so both layers see the same request.
Both User-Agent tokens first appeared at 20:31Z and 20:38Z, more than ninety minutes after the tool fetched our disclosure policy. We record this because other operators will see the same move. A label a tool gives itself is not evidence of permission, and it is not a reason to rate-limit more gently.
/.env returned 200 on two of our hosts. Those hosts return the same single-page-application HTML for any unknown path, and we confirmed that by requesting a random non-existent path. No configuration file was served.| Change | Deployed (UTC) |
|---|---|
| Return the database connection on every path of the notification idempotency claim. | 2026-10-20 20:39 |
| Block the scanning address at the host firewall. | 2026-10-20 |
| Refuse disposable email domains on self-serve flows (operations application and point-of-sale demo). Record edge rate limits. | 2026-10-21 03:36 |
Block Tor exit relays from sign-up, sign-in and one-time-code endpoints, refreshed hourly. Reject X-HTTP-Method-Override at the edge. | 2026-10-21 ~20:20 |
Webhook delivery connects to the exact address it vetted, with the original host name kept for TLS and the Host header. Webhooks are available only to paid e-signature accounts. The sign-up email policy now applies to e-signature. | 2026-10-21 22:06 |
| Refuse demo requests whose email domain does not exist. | 2026-10-21 22:05 |
| Suspend the two e-signature accounts, remove their webhooks, and delete the fake records after a backup. | 2026-10-22 |
Still open at revision 1.0: the failing rebuild of one public demo environment (Section 4), withdrawing the draft applications at our payment processor, reviewing the eight API keys issued by the shipping tool's free sign-up (that sign-up has no email-domain policy yet), and making the point-of-sale application itself ignore X-HTTP-Method-Override, so that protection does not depend only on the edge.
We publish these because the campaign found them, and another operator may have the same ones.
rbndr.us, or any similar rebinding service. No legitimate customer needs one.X-HTTP-Method-Override, X-HTTP-Method and X-Method-Override at the edge unless an application genuinely needs them.The machine-readable feed is lh-2026-005-iocs.csv. Its columns are indicator,type,context,first_seen,source. It contains seven campaign indicators and 306 Tor exit relays that touched our sign-up, sign-in, webhook or demo endpoints during the campaign. A relay seen in more than one phase appears once, with the counts from its first phase, so per-row counts do not sum to the phase totals given above.
| Indicator | Type | Notes |
|---|---|---|
52.128.241.188 | ipv4-addr | The single address behind phase 1 (195,070 requests). No reverse DNS. Blocked at our firewall. |
LiftedAuthorizedAssessment, (recon; authorized) | user-agent-substring | Self-applied labels. We authorized no one. |
maxxspace.com | email-domain | Disposable-mail domain used on both days. It is shared by unrelated users, so do not attribute on it alone. |
<hex>.<hex>.rbndr.us | hostname-pattern | Public DNS-rebinding service, used as webhook targets. |
X-HTTP-Method-Override: POST on GET | http-request-pattern | Used to bypass a method-keyed filter. |
acme-pos-test.com | email-domain | An invented domain that does not resolve. Typed into the demo form in phase 3. A behavioural marker only. |
Deliberately not in the feed: the addresses of anyone who used our public demos legitimately during the same window, and any address of ours other than the one public address a rebinding host encoded.
This is a first-party incident on our own systems, and no third party's product was found defective. No abuse report has been filed with the network that hosts the scanning address as of revision 1.0. The address is blocked. If anyone was in fact engaged to assess our systems, we did not engage them, and we ask them to contact us at the address below.
The response, the analysis and this advisory are the work of Daniel Wilson Kemp, Founder and Chief Executive Officer, Lifted Holdings LLC.
Lifted Holdings LLC is a payments and technology company based in Tennessee, operating across merchant payments and connected-device platforms.
Commercial interest, stated plainly
Lifted Holdings sells payments and retail software: point of sale, payment processing, vending and signage. It does not sell a security product, a threat-intelligence feed or a bot-mitigation service. There is no product this advisory sells.
| Purpose | Contact |
|---|---|
| Author and technical follow-up | Daniel Wilson Kemp, Founder and CEO, Lifted Holdings LLC |
| will@liftedholdings.com | |
| Telephone | 855-678-5142 |
| Report a security issue to us | /security/disclosure-policy and /.well-known/security.txt |
| Canonical advisory URL | https://liftedholdings.com/security/advisories/2026-005-self-serve-abuse-campaign |
| Revision | Date | Change |
|---|---|---|
| 1.0 | 2026-10-22 | Initial publication. |
TLP:CLEAR. This advisory may be redistributed without restriction. We ask only that Section 6, "What we did not find", and the scope limitation above travel with any excerpt.
Tor, Docker, PostgreSQL, Redis and any other names appearing here are the trademarks of their respective owners. Naming them describes observed traffic and infrastructure, and implies no wrongdoing by those projects or their operators.
Advisory LH-2026-005 · Revision 1.0 · Published 2026-10-22 · TLP:CLEAR ·
liftedholdings.com/security/advisories/2026-005-self-serve-abuse-campaign
Copyright 2026 Lifted Holdings LLC. All timestamps UTC.