GPS spoofing teleported me to Peru, mid-flight

emilburzo1 pts0 comments

GPS spoofing teleported me to Peru, mid-flight ::<br>Emil Burzo

GPS spoofing teleported me to Peru, mid-flight

2026-06-22

It seemed like just another typical weekend day, paragliding at Igniș. However, shortly after taking off, things started to get weird.

First, my Android phone suddenly thought it was in Lima, Peru (important for later).

Just teleporting over for a bit

Due to the timezone change, that also triggered a cascade of events: new timezone notification, do-not-disturb mode activated, sunset filter turned on, and so on. The data connection was also interrupted.

As with anything that stops working, I first started with the basic restart dance. First the app(s), then airplane mode, then restarting the phone itself.

While I was attending to the phone, my variometer told me I landed. I questioned reality for a bit but then concluded, no, I am still in the air, flying.

Now, debugging stuff while flying is never ideal, but this time it was even worse because nothing made any sense. Why would two independent devices malfunction at the same time?

It also didn&rsquo;t help that the weather was starting to build. The clouds were getting taller and rain showers started, just what you want when you&rsquo;re poking at a phone with a stylus.

Not ideal debugging conditions

It&rsquo;s not just me

At this point I&rsquo;ve noticed my flying buddies are also flying kind of erratically. Then I asked on the radio if anyone else is having issues. They were. Now it&rsquo;s starting to make sense. A handful of devices don&rsquo;t just randomly fail at the same time.

Then I realized it must be some sort of GPS interference. But what kind of interference? I&rsquo;ve never seen anything like this before.

After about fifteen minutes of flying with just the basics, my variometer started to recover. My phone&rsquo;s data connection was restored, but it still said it was in Peru. I&rsquo;ve tried a few more restart dances, but nothing helped. The weather was deteriorating, and it was no longer safe to multitask, so I called it quits and landed.

Down the rabbit hole

The next day I started going down the rabbit hole trying to understand what happened. That led me to Veritasium&rsquo;s video on GPS jamming. It&rsquo;s a really well-made video that explains GPS GNSS in a pretty accessible way. I&rsquo;ve also learned that the whole coordinate frame is ultimately pinned to stars quasars as a fixed reference, so in a sense we&rsquo;re still navigating by the stars. Cool.

I then remembered someone actually built a tool that shows these GPS interferences:

I was flying in the red hex

So the interference was real. Back on the ground I&rsquo;d also checked with our local control tower, and they&rsquo;d had the same thing from their side: aircraft passing through the area reporting bad GPS. Which is more or less how GPSJAM works in the first place, the red hexes are stitched together from passing planes reporting how much they trust their own GPS.

But &ldquo;interference&rdquo; turned out to be two different things.

Jamming is blunt: drown out the satellite signals with noise so nothing can get a fix at all.

Spoofing is surgical: broadcast a fake signal that&rsquo;s stronger than the real satellites, and the receiver happily computes whatever position you feed it. Which is how I ended up in Peru.

Lima

Luck would have it that I caught this conversation in the YouTube comments of the Veritasium video:

I love the internet

Lima is a Ukrainian electronic-warfare system that defends against drones and missiles by convincing them they&rsquo;re circling overhead in, you guessed it, Lima, Peru.

Which fits, since Igniș is in Maramureș, in the far north of Romania, sharing a border with Ukraine.

So my phone had been reporting the position a missile-defense system wanted an incoming missile to believe.

Oh we're totally flying circles above Lima, Peru.

The failure modes

It&rsquo;s quite interesting how differently each device handled the same bad data.

There were four of us flying, each with a phone and a variometer, and every one of them got fed the same spoof. I got usable logs from three devices, and no two told the same story.

My Android phone took the spoof and ran with it. It jumped to Lima, recording itself doing circuits over the city. Worse, the bad fix got baked into the cached assistance data (the almanac and the predicted satellite data phones download to speed up the next lock), so even after I landed it still thought it was in Peru. Restarting did nothing. It only recovered once I opened GPSTest and wiped the cached almanac/PSDS to force a cold start.

My variometer runs Linux and keeps a log. The instant the GPS went bad it flipped an internal GpsFixIsValid flag to false, it stopped trusting its own position, and a few minutes later the landing-detector gave up and stopped recording (trimmed, comments mine):

12:18:38 StartRecording: 2026-06-21-Emil-Burzo-01 # took off<br>12:18:38 Flag 'InFlight' set to...

rsquo peru phone flying lima started

Related Articles