AppStore review rejected because of 2.5.2 and 3.3.2
See original GitHub issueGoals
Our most recent appstore app review was rejected because of 2.5.2 and 3.3.2
Your app, extension, or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program License Agreement. This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior and/or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app.
Our application is built with ReactNative, and only the realm calls the above method on the native side. (RCTUtils is also called, but it shouldn’t be the reason, because there are many applications that use ReactNative and deliver to AppStore).
Is it possible to optimize the realm SDK and remove the above method call?
Version of Realm and Tooling
- Realm JS SDK Version: 2.14.2
- React Native: 0.53.3
- Client OS & Version: iOS
- Which debugger for React Native: None
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:9 (4 by maintainers)
Top GitHub Comments
@kneth The file system_configuration.cpp in the above image calls dlopen(), dlsym()
This is the method that is prohibited from being called in the apple reply.
Does the problem also occur in version
2.13.x
ofrealm-js
? (I plan to make a submission to Apple soon 😊)