Apple's China-Friendly Censorship Caused An iPhone-Crashing Bug (wired.com)
Security researcher Patrick Wardle helped Apple fix a bug that would crash apps displaying the word "Taiwan" or the Taiwanese flag emoji. Some iPhones could be remotely crashed by something as simple as receiving a text message with the Taiwanese flag. Apple confirmed the fix in a security update Monday. Wired reports: "Basically Apple added some code to iOS with the goal that phones in China wouldn't display a Taiwanese flag," Wardle says, "and there was a bug in that code." Since at least early 2017, iOS has included that Chinese censorship function: Switch your iPhone's location setting to China, and the Taiwanese flag emoji essentially disappears from your phone, evaporating from its library of emojis and appearing as a "missing" emoji in any text that appears on the screen. That code likely represents a favor from Apple to the Chinese government, which for the last 70 years has maintained that Taiwan is a part of China and has no legitimate independent government.
But Wardle found that in some edge cases, a bug in the Taiwan-censorship code meant that instead of treating the Taiwan emoji as missing from the phone's library, it instead considered it an invalid input. That caused phones to crash altogether, resulting in what hackers call a "denial of service" attack that would let anyone crash a vulnerable device on command. Wardle's still not sure how many devices are affected, or what caused that bug to be triggered only in some iOS devices and not others, but he believes it has something to do with the phone's location and language settings. Wardle has more details of the bug on his blog.
But Wardle found that in some edge cases, a bug in the Taiwan-censorship code meant that instead of treating the Taiwan emoji as missing from the phone's library, it instead considered it an invalid input. That caused phones to crash altogether, resulting in what hackers call a "denial of service" attack that would let anyone crash a vulnerable device on command. Wardle's still not sure how many devices are affected, or what caused that bug to be triggered only in some iOS devices and not others, but he believes it has something to do with the phone's location and language settings. Wardle has more details of the bug on his blog.
Good one apple. Way to bend over for China. Anything to sell more overpriced toys.
Why go through the hassle of scrubbing the tables and special code hacks - when set for China just use a special emoji page that replaces the Taiwan flag with the China flag.
Yay Apple, the 'Anti big brother'.
Step 1: Make Taiwan's flag disappear in China
Step 2: Make iPhone act as if it's in China when it's in Taiwan -- pretend Taiwan has disappeared
It's a small step.
Then report back to China on everything happening on phone, everywhere -- what electronic boundaries are there for authoritarianism?
If Apple is keen on implementing that level of censorship [ which has been made public ] who knows what else stagnates in the code ready to break privacy?
Slashdot, fix the reply notifications... You won't get away with it...
Gotta love how Apple pretends to be full of virtue.
Meanwhile they collaborate with one of the world's most oppressive governments.
You don't know half of what goes on in China because it is all censored.
Basically Apple added some code to iOS with the goal that phones in China wouldn't display a Taiwanese flag
If this is true, then NOBODY should be using this product.
From Think Different to shareholders whores.
Sure. A multi billion dollar company can't keep their phones from crashing due to playing an emoji , but AI is right around the corner right?
What a fucking joke. Tre iPhone USB riddled with bugs even though it is apples flagship product.
But yeah, AI is gonna happen real soon now
How long have you lived under a rock? Comie spelled with one m, wow!
Couldn't they have instead had their software substitute "Free China" or "Republic of China" anywhere that "Taiwan" would have appeared?
This is something Hitler would do.
Word salad ahoy!
Yes they will - they just don't tell you about it as people outside of china are a lot less likely to accept it.
If it's happened for China, you can bet your socks it's already happened outside of it (why on earth would you like to think otherwise?)
Or to put it another way - those zero days / bugs / exploits found in various OS's. Some are of course accidental.
Maybe, just maybe, by misspelling "commie" you meant to say that Tim Cook and James Comey / Comie are the same person? And they are both gay? James has never come out and say it publicly...
there $1.39/hr pay is bigger then free speech
Even the city of Cupertino has their own flag. This does not mean Cupertino is not part of California, nor does California's flag mean it is not part of the US. (I'm sure California's contributions to GDP and federal taxes are appreciate, even if their politics are not welcomed)
Taiwan can have a flag, and China can claim that Taiwan is part of them. The two positions are no worse than the usual double-think that goes on in the Communist Party of China (CPC). It's kind of sad that freedom-loving American companies have a love for money that overrides principle.
“Common sense is not so common.” — Voltaire
I don't know a lot about iOS, but I've heard people say it is written in languages like C, Objective-C, C++ and Swift.
Would using a modern, safety-first and security-first programming language like Rust have helped avoid this bug?
... to display the Taiwanese flag anywhere? Obviously because China gives zero fucks what you (outside China) think. For now. For now. I am confident tho, with all the courage at Apple, they would never tolerate China insisting Apple censor YOUR iPhone. Courage. Hahahahahhaha... yeah. Right. Courage to stand up to users not wanting Apple to extort even more money from them in being made unable to use their legacy headphones without some special, stupid, pain in the ass adapter. Yo... Fuck that shit.
Think totalitarian.
Pseudo code for those of you not familiar with Objective C. ...
locale currentLocale = CFLocaleCopyCurrent();
string countryCode = CFLocaleGetValue(currentLocale, kCFLocaleCountryCode);
if countryCode == "CN" then
If in your phone's configuration no current region is set (region-less configuration) then CFLocaleGetValue will return a null pointer. And thus when the code tries to compare the 'C' with the first character in countryCode, it crashes with a null pointer dereference.
the [People Republic of China] government, which for the last 70 years has maintained that Taiwan is a part of China and has no legitimate independent government.
And Taiwan's government has the exact same opposite position, maintaining that they are the only legitimate government of China. Both government consider there is only one China, and that its territory contains mainland and Taiwan island.
Maybe, just maybe, by misspelling "commie" you meant to say that Tim Cook and James Comey / Comie are the same person? And they are both gay? James has never come out and say it publicly...
When he told the public he was reopening investigations against Clinton, he was in bed with Trump, so yes, they are gay, "But, but, Trump fired him", you will say. That's how Trump treats his lovers.
Apple works to protect the environment and gay rights, and tries not to use raw materials supplied by child labor. That's good.
I hope some day Apple will also care some day about human rights, like free speech.
At an Apple shareholder's meeting:
"When we work on making our devices accessible by the blind, I don’t consider the bloody ROI," Cook said, adding that the same sentiment applied to environmental and health and safety issues.
Ok, when will Apple apply the "I don’t consider the bloody ROI" philosophy, when it comes to selling Apple devices in China?
Who else can ask for a real time look in?
Thats some great customer support to support nations with their user problems.
Domestic spying is now "Benign Information Gathering"
Let me open my browser (Chrome, Samsung Galaxy Note 8), pop open Bing, type in Taiwan. Works fine here! Same with texting the word to my wife. Even downloaded a picture of the Taiwanese flag. Yep - seems to work on Android at least. I guess Google doesn't want to bow so deeply to Beijing!
Browsing at +1 - no ACs, I ignore their posts. So refreshing!
Actually it is YOU, who are wrong. It is a poor craftsman who blames his tools, and a programming language is just a tool. The fact that, if it is indeed even true, that Rust or Ruby or whatever else would hold your hand and prevent you making mistakes means that the language creators are doing part of your job for you. By the same token, you could argue that a lot of car crash fatalities COULD be avoided if all roads had rails going down the center of each lane, and cars were all equipped with massive front and rear bumpers, and only weighed a few hundred pounds, and were limited in speed to about 17 miles per hour, give or take, like the Autopia at goddamned DISNEYLAND. While true, it reduces the utility of cars and largely defeats most of the purpose of having one. All the guardrails and safety features of Rust et al., may make it safer, but they limit the power and flexibility of the code produced with them, and unavoidably the power and efficiency of the programs that ultimately result. Although it may be possible in SOME cases that you can make a program that is just as powerful and efficient in Rust as in C plus plus, it is, I can promise you, not possible in every case. The point of C is that what you are doing, writing source code, is about as close to writing in assembly language as you can get, without actually writing in assembly language, especially in terms of having accessible to you, the programmer, as great a portion of the full spectrum of commands, of ways in which to manipulate data, as it is possible to have given a specific kind of processor or system architecture.
Kneeling before Chinese coomunist and taking away our freedom of speech. Shame on you, rotten Apple
Technically, that works for iPhones too... if you don't set your location to China. Honestly curious, change your location to China on your Android phones and try again. Also what Android versions are you running? This looks like a very recent change in the code base (latest version of iOS). I wonder if China has added some new requirements to phones operating in China and the next version of Android might have this 'requirement' too.
Does Apple Maps still show Taiwan the island or has it too been erased?
It is a poor craftsman who blames his tools, and a programming language is just a tool.
It is an even a worse craftsman who chooses the wrong tool.
The system is working as originally designed. The geopolitical requirement was an afterthought. Use the phone elsewhere, and not on an airline that flies to a country that features some. culinary delights
Only someone as phenomenally ignorant as you would say that a language induces bugs. You probably also believe that guns spontaneously murder people and that trump stole the election.
Stop talking out your ass, thegarbz! You are conflating the actions of Microsoft with Google.
https://fox2now.com/2016/11/24/microsofts-chinese-chatbot-wont-talk-about-tiananmen-or-xi-jinping/
https://www.economist.com/analects/2014/02/12/bings-chinese-enigma
Here are your beautiful flowers. Google searches show the massacre and the events leading up to it.
https://www.google.com/search?q=Tiananmen+Square&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi2y-_GoJfcAhXJ3YMKHWT2DVAQ_AUICigB&biw=1600&bih=776
Google even stood its ground and left China rather than censor content:
https://www.theatlantic.com/technology/archive/2016/01/why-google-quit-china-and-why-its-heading-back/424482/
Displaying Taiwan's flag in mainland China is a bit like flying the Confederate flag in the US. Except people do that all the time and we think pro-slavery rallies to be a point of culture, tradition, and pride.