What happened here?

Regular readers will have noticed that we’ve been offline for several days. As you can see, during that time, we’ve made some major changes to the site, and though the design has changed substantially, we’ve made even more dramatic changes in the back-end. We are now running our 6th major iteration of OSNews. It all was precipitated by messages from readers we’ve received over the past few weeks alerting us that they’ve been getting spam, phishing attempts, and some weak-sauce cyber-extortion emails at addresses that were unique to their OSNews accounts. Read on for more.

It certainly seems like we’ve had a breach. Our best guess is that someone was able to exploit a vulnerability in old, unmaintained code in the site’s content management system, and made off with at least some user data, which may be as little as a few user records or, at worst, our entire database. Your email addresses were in there, and the encryption on the passwords wasn’t up to modern standards (unsalted SHA1). The truth is that once we concluded it was likely that we were breached, our small volunteer team decided it was better to go offline than it was to learn the avenue of exploit, given that we had no interest in continuing to rely on the aged codebase.

Other than potential spam, though, we’re not aware of any other nefarious use of your data, we don’t store much beyond email addresses and passwords, but nonetheless, we’ve very sorry that we weren’t more diligent over the years with keeping in lockstep with best practices with respect to site security.

Upgrading the site has been long overdue. In fact, we’d made a serious attempt at discontinuing the old CMS a few years ago, and a few years before that, and it got bogged down both times by the fact that we depend on volunteer help and we all have real lives. The OSNews system is old. The last meaningful update to the codebase was in 2008, with much of the logic based on the 2005 “version 3” rewrite of OSNews. File modification times of 2014 or older were almost always small tweaks or bug fixes. The site was largely written for PHP 4 and it never had a proper maintenance plan. We’ve now migrated the site to WordPress. For all its faults, WP is at least a known quantity. Many thanks to Adam Scheinberg for spending so many hours over his winter break migrating the data from the old CMS to WordPress.

To be perfectly honest, when contemplating what needed to be done to properly move the site to a new platform, I considered just throwing in the towel and going offline permanently. Revenues from advertising don’t cover expenses, and though this could probably be rectified by exploring more creative sponsorship approaches, I don’t have the time. I’m currently trying to get a startup off the ground. I love being a part of this community, and I’m willing to continue to invest in it, but I only want to keep it going if it’s going to remain vibrant and meaningful.

In order to keep your history from the old site, and to make that re-association process as painless as possible, we’ve written a very simple account migration tool. The tool checks your login against a very stripped down version of our old user table and then re-encrypts your password. When you login to the new OSNews site, your password will be encrypted using a modern secure algorithm, which is currently PHP’s password_hash function, which uses Blowfish or Extended DES and can change over time so we don’t repeat any past mistakes.

I’d like to conclude this update with a cry for help. The only way to achieve this dream of vibrancy and meaningfulness is with your help. One of the advantages of the new platform is that it will make it easier for us to include new contributors and do experiments. What can you do?

  • Read and comment every day
  • Submit news
  • Share interesting stuff on the site with your friends
  • Write an original article
  • Suggest someone interesting for us to interview, and recommend some questions we can ask
  • Suggest new topics you think we should cover with more regularity
  • Volunteer to be an editor and post news everyday
  • Help us with ideas on how we can make money. (sponsorships, ads, partnerships, whatever)
  • Need a part time job? I’ll hire you to promote the site and manage our sponsorship and advertising relationships.

171 Comments

  1. miker 2019-01-02 9:26 pm EST
    • jockm 2019-01-02 9:58 pm EST
    • Thom Holwerda 2019-01-03 8:13 am EST
      • DeepThought 2019-01-03 9:17 am EST
      • Adurbe 2019-01-03 9:23 am EST
      • Bill Shooter of Bul 2019-01-03 10:30 am EST
      • miker 2019-01-03 12:15 pm EST
      • Drumhellar 2019-01-03 3:16 pm EST
      • blockplanning 2019-01-04 2:39 pm EST
    • subsider34 2019-01-03 10:33 am EST
      • miker 2019-01-03 12:13 pm EST
      • pgeorgi 2019-01-03 3:25 pm EST
      • laffer1 2019-01-03 6:58 pm EST
      • TemporalBeing 2019-01-03 10:11 pm EST
    • The1stImmortal 2019-01-03 5:18 pm EST
  2. anonymousrex 2019-01-02 9:39 pm EST
  3. jockm 2019-01-02 9:59 pm EST
  4. nesur 2019-01-02 10:23 pm EST
  5. snick 2019-01-02 11:42 pm EST
    • mf 2019-01-03 2:32 am EST
    • DeepThought 2019-01-03 9:21 am EST
    • knightrider 2019-01-03 2:59 pm EST
    • fukudasan 2019-01-05 1:11 am EST
  6. TemporalBeing 2019-01-03 12:05 am EST
  7. Drumhellar 2019-01-03 1:52 am EST
    • Alfman 2019-01-03 2:28 am EST
      • drstorm 2019-01-03 4:49 am EST
        • DeepThought 2019-01-03 9:21 am EST
        • David Adams 2019-01-03 12:38 pm EST
        • spambot 2019-01-04 4:00 am EST
      • quackalist 2019-01-04 6:21 pm EST
  8. Alfman 2019-01-03 2:11 am EST
    • Alfman 2019-01-03 2:22 am EST
  9. malxau 2019-01-03 3:14 am EST
    • David Adams 2019-01-03 12:40 pm EST
  10. C5523 2019-01-03 4:25 am EST
    • David Adams 2019-01-03 12:41 pm EST
  11. satai 2019-01-03 4:31 am EST
    • David Adams 2019-01-03 12:42 pm EST
      • satai 2019-01-04 3:37 am EST
      • zegenie 2019-01-04 7:57 am EST
  12. satai 2019-01-03 4:53 am EST
    • shotsman 2019-01-03 1:50 pm EST
  13. James 2019-01-03 5:17 am EST
  14. birdie 2019-01-03 5:20 am EST
    • kwan_e 2019-01-03 5:22 am EST
      • birdie 2019-01-03 5:23 am EST
        • aaronb 2019-01-03 7:27 am EST
        • kwan_e 2019-01-03 3:48 pm EST
  15. birdie 2019-01-03 5:22 am EST
    • shotsman 2019-01-03 1:51 pm EST
      • birdie 2019-01-03 7:43 pm EST
  16. birdie 2019-01-03 5:26 am EST
    • kwan_e 2019-01-03 3:50 pm EST
      • birdie 2019-01-03 7:40 pm EST
        • kwan_e 2019-01-03 11:41 pm EST
  17. DeepThought 2019-01-03 6:28 am EST
  18. adkilla 2019-01-03 6:51 am EST
  19. jal_ 2019-01-03 7:05 am EST
  20. Morgan 2019-01-03 7:25 am EST
  21. dullus 2019-01-03 7:25 am EST
  22. Athlander 2019-01-03 7:36 am EST
  23. Adam Scheinberg 2019-01-03 7:48 am EST
    • Thom Holwerda 2019-01-03 8:06 am EST
    • Troels 2019-01-03 9:13 am EST
    • Adam Scheinberg 2019-01-03 9:34 am EST
      • birdie 2019-01-03 7:46 pm EST
      • TemporalBeing 2019-01-03 10:27 pm EST
    • Alfman 2019-01-03 9:36 am EST
      • Adam Scheinberg 2019-01-04 3:24 pm EST
    • Drumhellar 2019-01-03 3:23 pm EST
    • TemporalBeing 2019-01-03 10:17 pm EST
  24. CtOS 2019-01-03 8:16 am EST
  25. chrish 2019-01-03 8:37 am EST
  26. CtOS 2019-01-03 8:54 am EST
  27. Adurbe 2019-01-03 9:31 am EST
    • Adam Scheinberg 2019-01-03 9:42 am EST
      • M.Onty 2019-01-04 11:50 am EST
    • Jondice 2019-01-03 10:36 am EST
  28. p13. 2019-01-03 9:49 am EST
    • Adam Scheinberg 2019-01-03 9:55 am EST
      • p13. 2019-01-03 9:57 am EST
        • p13. 2019-01-03 9:59 am EST
          • p13. 2019-01-03 9:59 am EST
          • CtOS 2019-01-03 10:32 am EST
      • p13. 2019-01-03 10:06 am EST
  29. mail4asim 2019-01-03 9:51 am EST
  30. kurkosdr 2019-01-03 10:20 am EST
  31. kurkosdr 2019-01-03 10:32 am EST
    • Alfman 2019-01-03 11:39 am EST
      • kurkosdr 2019-01-03 12:26 pm EST
        • Alfman 2019-01-03 5:34 pm EST
    • StephenBeDoper 2019-01-04 7:05 pm EST
  32. BlueofRainbow 2019-01-03 10:37 am EST
  33. kicolobo 2019-01-03 10:55 am EST
  34. jockm 2019-01-03 11:14 am EST
    • kurkosdr 2019-01-03 12:30 pm EST
      • jockm 2019-01-03 9:40 pm EST
  35. flypig 2019-01-03 12:36 pm EST
  36. Ikshaar 2019-01-03 12:42 pm EST
  37. brion 2019-01-03 12:50 pm EST
  38. mbpark 2019-01-03 1:15 pm EST
  39. moher 2019-01-03 1:46 pm EST
  40. zdzichu 2019-01-03 1:50 pm EST
  41. smoerk 2019-01-03 2:45 pm EST
    • Adam Scheinberg 2019-01-03 2:55 pm EST
      • pgeorgi 2019-01-03 3:32 pm EST
        • Adam Scheinberg 2019-01-03 3:37 pm EST
        • pgeorgi 2019-01-03 3:43 pm EST
        • Adam Scheinberg 2019-01-03 6:27 pm EST
        • Adam Scheinberg 2019-01-03 10:16 pm EST
        • Alfman 2019-01-03 11:27 pm EST
      • Moochman 2019-01-03 9:08 pm EST
  42. Lennie 2019-01-03 3:45 pm EST
  43. mikewau 2019-01-03 4:28 pm EST
  44. motang 2019-01-03 4:56 pm EST
  45. acobar 2019-01-03 6:12 pm EST
    • Alfman 2019-01-04 12:06 am EST
      • acobar 2019-01-05 6:19 am EST
  46. smashIt 2019-01-03 6:27 pm EST
    • Adam Scheinberg 2019-01-03 10:16 pm EST
  47. birdie 2019-01-03 7:51 pm EST
  48. birdie 2019-01-03 8:07 pm EST
    • Adam Scheinberg 2019-01-03 9:41 pm EST
      • birdie 2019-01-04 8:40 am EST
    • quackalist 2019-01-04 6:32 pm EST
      • Adam Scheinberg 2019-01-04 8:18 pm EST
  49. mlankton 2019-01-03 10:00 pm EST
    • Adam Scheinberg 2019-01-03 10:19 pm EST
      • mlankton 2019-01-04 9:42 am EST
        • Adam Scheinberg 2019-01-04 10:35 am EST
    • p13. 2019-01-04 7:55 am EST
  50. asdavies 2019-01-03 11:26 pm EST
  51. blueatria 2019-01-04 12:20 am EST
  52. Lazarus 2019-01-04 2:12 am EST
  53. jejo 2019-01-04 3:12 am EST
  54. rleigh 2019-01-04 4:38 am EST
    • Adam Scheinberg 2019-01-04 10:41 am EST
  55. ChrisOz 2019-01-04 4:41 am EST
  56. p13. 2019-01-04 5:20 am EST
  57. martini 2019-01-04 6:59 am EST
  58. jmorgannz 2019-01-04 8:37 am EST
    • Adam Scheinberg 2019-01-04 10:40 am EST
  59. Cheikh 2019-01-04 8:41 am EST
    • Adam Scheinberg 2019-01-04 10:37 am EST
  60. PXRebirth 2019-01-04 9:13 am EST
  61. JRG 2019-01-04 9:39 am EST
  62. nerdymike 2019-01-04 9:46 am EST
  63. km3k 2019-01-04 9:53 am EST
  64. webdoktor 2019-01-04 11:09 am EST
  65. Sauron 2019-01-04 11:23 am EST
  66. Mikaku 2019-01-04 12:30 pm EST
  67. JRG 2019-01-04 1:02 pm EST
    • Mikaku 2019-01-04 4:45 pm EST
      • David Adams 2019-01-04 5:02 pm EST
        • Mikaku 2019-01-05 5:39 am EST
  68. Adam Scheinberg 2019-01-04 3:11 pm EST
    • Alfman 2019-01-04 8:03 pm EST
      • Adam Scheinberg 2019-01-04 8:14 pm EST
  69. OldManToast 2019-01-04 3:50 pm EST
  70. Sauron 2019-01-04 4:14 pm EST
  71. Eugenia Loli 2019-01-04 5:29 pm EST
    • Alfman 2019-01-04 8:07 pm EST
      • Eugenia Loli 2019-01-04 8:25 pm EST
  72. Luke McCarthy 2019-01-04 6:24 pm EST
  73. sydbarrett74 2019-01-04 10:45 pm EST
  74. MarcoB 2019-01-05 7:51 am EST

Leave a Reply