זה עתה בניתי מחדש אחד מפורומי ה-Discourse שלי וכאשר אני טוען אותו בדפדפן, ההודעה הבאה מופיעה בחלון קופץ:
נפרצת על ידי תוסף! מאת w3shi(Hackerone)-S.Lakshmi Vignesh(RCE-POC)
קדוש… מה קורה? אחד התוספים שאני משתמש בהם נפרץ?
זה עתה בניתי מחדש אחד מפורומי ה-Discourse שלי וכאשר אני טוען אותו בדפדפן, ההודעה הבאה מופיעה בחלון קופץ:
נפרצת על ידי תוסף! מאת w3shi(Hackerone)-S.Lakshmi Vignesh(RCE-POC)
קדוש… מה קורה? אחד התוספים שאני משתמש בהם נפרץ?
Any chance you used the migrate password plugin? Or another plugin from the discoursehosting repository?
Looks like this forum was affected too Am I hacked? or not - Forum Management - Suggestions - DxO Forum
Yes, it’s in the list. And the only one from discoursehosting.
I remember that it needs to be active to allow “old” users to login, correct?
But now the question is more if the installation was compromised or if it’s just showing this message. Site is down at the moment to be safe for now.
Along with that plugin, here’s the list what I’m using:
פשוט הסר כל דבר המתייחס ל-discoursehosting
תרגום Google לפוסט בפורום הצרפתי:
חוקר פסאודו-אבטחה אסף מאגר Git ישן עבור תוסף ששימש את הפורום וחטף אותו כדי להציג פשוט את ההודעה הזו.
המאגר הנדון (GitHub - discoursehosting/discourse-migratepassword: A touch of security) נבדק ולא נמצא בו קוד זדוני (זה פשוט הוכחת מושג).
מאגר זה שינה למעשה את כתובת ה-URL שלו (הוא זמין כעת ב-GitHub - communiteq/discourse-migratepassword: Support migrated password hashes) והמשתמש פשוט יצר מחדש את מאגר discoursehosting/discourse-migratepassword, אשר הפנה בעבר ל-communiteq/discourse-migratepassword, כדי למקם שם קוד לא קשור. השתמשנו בכתובת ה-URL הישנה, ולכן הושפענו.
אם זה נכון, בסדר… שיניתי את כתובת ה-URL של התוסף ל-communiteq ואני בונה מחדש כרגע. אבל אני צריך לבדוק את זה יותר (מכיוון שאני לא מתכנת, אני לא יכול להיות בטוח ב-100%).
This is a Github vulnerability in an exploit class called “Repojacking”.
We recommend everyone to check their Github plugin URLs and rename each and every instance of discoursehosting to communiteq
We had to rename our company from Discoursehosting to Communiteq in 2019.
If that happens, Github automatically redirects URLs to github repositories to their new location, until someone creates a repository with the same name. At that moment the new repository will take preference.
Github used to mark such repositories as “retired” and prohibited creating a repository with the same name.
A previous exploit is described here. Apparently that fix is no longer effective.
We have filed a Github abuse report and will try to take this repository down with all available means.
At this moment the compromised plugin only shows a message and leaves a harmless file in /tmp.
So nothing bad has happened - yet. It is important to change your plugin URL before you rebuild.
wow it can catch the end user out easily, one of the main disadvantages of not using discourse.org official hosting.
If either
angusmcleod (Angus McLeod) · GitHub or merefield (Robert) · GitHub
accounts ceased to exist
then a first sub-path would be exposed, so there would be a clone command sitting in my app.yml for a rebuild to execute
To mitigate the potential impact for users of the standard install, we’ve added code to detect github.com/discoursehosting/ and abort any rebuilds/upgrades.
The error will look something like
---
ERROR: The configuration file containers/app.yml contains references to a compromised github organization: github.com/discoursehosting
Please remove any references to this organization from your configuration file.
For more information, see https://meta.discourse.org/t/374703/6
---

Thank you David!
קהילת Discourse שלום,
אני רוצה להתנצל בכנות על השיבוש שנגרם על ידי פעולותיי בנוגע למאגר התוספים. בניסיון להדגיש בעיית אבטחה, עשיתי טעויות חמורות שהפרו את קוד ההתנהגות.
להלן, אוודא שפעולותיי יעמדו בנהלי גילוי אחראי ואני מעריך את ההזדמנות ללמוד מכך.
שוב, אני באמת מצטער על השיבוש שנגרם.
Thank you for your apologies.
The next not-so responsible thing was not reaching out to me or CDCK privately when you gave up the handle, because in the past three hours, someone else could have seen your post and registered it.
I have now regained control over the old Github handle. And thank you for doing the right thing eventually, and for pointing out that Github does not protect redirects anymore for the fifth time (last time was the fourth time: “This discovery marks the fourth time an alternate method has been identified for performing Repojacking”)
I suggest you approach Github and collect your bounty!
אני מתנצל עמוקות על כל אי הנוחות שנגרמה! ותודה על ההבנה @RGJ !.
ברוכים הבאים לקהילה ותודה על התיקון של הכל.
You should basically assume that nothing is safe, which doesn’t work well either.
Just a few days ago it came to light that one of the developers behind some ESLint Prettier package’s NPM account was compromised and they published new compromised versions of some popular packages:
These packages were then referenced in other packages, because many claim that you should always update to the latest versions.
After I saw this thread I suggested a feature to introduce signature validation of plugins/theme components while updating them: Plugin and theme component signing
That would not stop a compromised key, but at least make part of the supply chain more trustworthy. In the end it is still possible that compromised third party libraries are pulled in. Additional dependencies are not really visible.
I’m not sure this still works. I had a plugin pointing to the compromised github URL and the error message during rebuild just said it failed to pull the repository, with some further detail about a gem version or something. (Can’t paste the exact info as it’s too far back in my scrollback from all the other noise during subsequent builds.)
Looks like the URL/repository doesn’t exist at all now, which is good (at least until someone else re-creates it) but the error message would’ve saved a lot of time.
אכן, @RGJ חזר כעת לשליטה בארגון ה-github, ולכן הסרנו את הודעת השגיאה הזמנית.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.