edward_plainview
Forum Replies Created
-
Using this code snippet
https://mycryptocheckout.com/doc/snippets/modify-the-decimal-precision-of-a-currency/
you can change the decimal precision of whatever currency you want to whatever precision your users are used to.
Try manually downloading the plugin, edit the readme.txt file and edit the lines at the top containing “requires”.
We have opened version gated API access.
Older plugin versions remain restricted until they update.
If you have not already done so, please update MyCryptoCheckout to the latest version from your WordPress admin or reinstall the latest version from ww.wp.xz.cn, then refresh your MCC account data.
We are currently speaking with the ww.wp.xz.cn Plugin Team about whether they can assist with a forced or accelerated update to the latest hardened version. If that path is not available, then we will move forward with the version gated API access.
We will post another update shortly.
v2.165 and 2.164 are essentially the same.
The API has been disabled for the past couple of days. So it is not possible that anything before 2.164 has been working fine the past couple of days and 2.165 doesn’t work.
We are working with WordPress regarding upgrading all old versions of the plugin to the latest secure version before opening the API again, and will keep this thread updated.
Thanks for the feedback. I want to clarify a few points and answer the technical questions directly.
MCC has been operating for roughly 8 years. The earlier winter issue was a plugin/API trust-path issue involving API impersonation/spoofing, not a breach of the MCC API servers. After that, we spent months hardening the plugin and worked through review with WordPress.
The recent incident was different. It involved unauthorized access to part of the server environment, which was related to recently disclosed Linux-level issues. The Copy Fail / Dirty Frag activity was part of the same broader server-side incident.
This was not a case where every API field was blindly unsafe. A lot of plugin-side escaping and hardening was already in place from the previous security work. The issue was that after the server-side compromise, attackers were able to send trusted-looking account-data updates, and a small number of remaining remote account-data fields still had too much trust for display/template behavior.
You are correct that the broader
update_accountstorage boundary needed additional hardening. v2.164 addressed the known exploited paths, including the abusedpayments_leftfield and the checkout wallet-link path. We have now released an additional update that further hardens the account-data storage path itself.The vulnerable
update_accountflow quoted above is no longer the same. Remoteretrieve_accountandupdate_accountdata is now sanitized before storage. Sensitive account fields are hard-typed, currency data and QR/wallet-link-related fields are sanitized, and the previous raw API-provided checkout HTML path has been removed/hardened.On the API side, we rebuilt the API servers, cleaned and re-sent API-side account data, rotated domain keys, added stricter account payload handling, and added API version handling so older plugin versions can be restricted while updated installations are handled separately.
To answer directly:
- Yes, the current release adds before-storage sanitization/hardening for remote account data.
- Yes, risky fields such as payment counters, currency data, QR data, wallet-link-related fields, and display/template-related fields are sanitized or hard-typed before storage where appropriate.
- Larger architectural changes, including additional message-authentication design, stronger audit logging, local/emergency-safe modes, and reducing what remote API data is allowed to affect, are being evaluated separately. We do not want to bolt those on hastily and risk breaking existing installations.
- For the known payload paths involved in this incident, the current plugin-side hardening is intended to neutralize those values before storage, and the API-side changes reduce what is sent and how older versions are handled.
Some recommendations, like removing all API connections or making the API only for licensing, are not realistic without breaking how MCC currently works. MCC uses the API for more than licensing, including payment detection, exchange rates, supported currency metadata, account status, and related services.
The practical goal is not “no API ever.” The practical goal is reducing what remote API data is allowed to control, validating/sanitizing it before it is stored or displayed, and keeping older versions that do not have those protections restricted.
MCC is open-source software, so anyone who wants to review the plugin code or suggest concrete improvements is welcome to do so. We are open to practical security feedback and code contributions that improve safety without breaking existing installations.
We have released a new version of MCC, see this thread: https://ww.wp.xz.cn/support/topic/mycryptocheckout-v2-164/
We understand many users are asking when MCC API services will be restored.
At this time, we do not have a confirmed ETA. Because MCC is used for cryptocurrency payments, we will not bring hosted/API services back online until we can verify that the infrastructure and payment-data path are safe.
We are evaluating whether a limited/safe mode can be restored first, but payment-related account data will remain offline until the trust path is rebuilt and verified.
We know this creates disruption, especially because there are limited p2p alternatives. Our priority is preventing unsafe payment data from being served.
Additionally, the decentralized nature of WordPress creates unique challenges for a cryptocurrency payment plugin. Unlike a fully hosted service, we cannot instantly update every installation or force all sites onto the latest hardened version. Some installations update quickly, while others may remain on older versions for extended periods. Given the rise in sophisticated attacks targeting payment-related software and infrastructure, this makes restoring hosted/API functionality more complicated than simply bringing servers back online.
Please see this thread: https://ww.wp.xz.cn/support/topic/mcc-api-notice-8th-of-may-2026/
We have published a full postmortem and remediation guidance for the May 1, 2026 MyCryptoCheckout security incident:
https://mycryptocheckout.com/mycryptocheckout-security-incident-postmortem-may-1-2026/
Summary
We identified unauthorized access to part of the MCC server environment due to a recently disclosed Linux privilege-escalation vulnerability commonly referred to as “Copy Fail” / CVE-2026-31431.
During the affected window, unauthorized update_account messages were sent to a subset of MCC installations. We have contained the server-side issue, cleaned and re-sent MCC API-side account data, rotated domain keys, and released MyCryptoCheckout v2.163 with plugin-side hardening for remote account-data validation and output escaping.
Action for MCC Users
The server-side threat has been contained and MCC API-side account data has been cleaned and resent.
However, all MCC users should still update to MyCryptoCheckout v2.163 because it includes the plugin-side hardening that prevents this class of account-data injection from executing.
After updating:
– Refresh MCC account data. The MCC API-side account data has been cleaned and re-sent after containment was completed.
– Review all WordPress administrator users and remove any unauthorized accounts.
– Re-enable any MCC security functions that were previously active.
– Verify configured wallet addresses.
– Scan the WordPress site for modified plugin, theme, or core files.We regret the impact this incident had on MCC users. We will continue posting updates in the postmortem if additional confirmed information becomes available.
I just tested it with EDD 3.6.7.
QR code appears. Timer appears and starts counting down.
Verify that your “purchase confirmation” page contains the shortcode
[edd_receipt]
Forum: Plugins
In reply to: [Broadcast] Error with Learndash Broadcast (NO DB ROW…)Problem was some custom code that was interfering with Broadcast.
Forum: Plugins
In reply to: [Broadcast] Error with Learndash Broadcast (NO DB ROW…)Generally, anything related to “TinCanny” has not worked well, due to how Learndash has not been network aware: course 12 on Blog A is not the same as course 12 on Blog B, and Tincanny stuff has been very locked in to specific course IDs without knowing which blog it is on.
Ideally, the best way to solve the problem is by finding the code in the Tincanny plugin and then trying to work around it (disabling it), so that it doesn’t try to find non-existent course progress et. al.
The best thing to do now would be to find the source of the problem:
- Enable WP_DEBUG in order to output errors to the browser
- Enable Broadcast debug to browser mode
- Broadcast the course to one blog
- Observe the massive Broadcast debug text
- Together with the (hopefully) PHP fatal error at the end
- And email it to me: [email protected]
This is the bug where the featured image was not being deleted even though the “delete attachments” setting is enabled? This should have been fixed 2025-03-21, so in v51.04.
If you’re above that version, could you enable Broadcast debug mode, broadcast the post in question, and then send me the debug file to read through? That should tell me why the featured image isn’t being deleted on the child post.
You can send the debug file to [email protected].
Forum: Plugins
In reply to: [Broadcast] Error to broadcast pagesI’m afraid I don’t to demos or trials, since I have been burned in the past, but if you e-mail me I can perhaps answer any questions you have in detail.