Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. RomM – Self-Hosted ROM Library with Metadata from IGDB, Screenscraper, MobyGames(digitalescapetools.com)
    discuss
  2. In the beginning, it was good –part 1
    discuss
  3. CoreQuarry(corequarry.com)
    discuss
  4. Show HN: Task and test management as YAML in your Git repo (VS Code)(github.com/gitoza-io)
    discuss
  5. Musings on the Barrow Scale(centauri-dreams.org)
    discuss
  6. What if you could experience the regret of a decision before making it?(solvailabs.com)
    discuss
  7. Show HN: Optimized runtimes for three VLAs on Jetson Thor(github.com/agents2agentsai)
    discuss
  8. Launch HN: Coverage Cat (YC S22) – Umbrella insurance via your personal agent(coveragecat.com)
    discuss
  9. Show HN: Nomoreda – Browser EDA, MCP-Friendly, KiCad/Altium-Compatible(nomoreda.com)
    discuss
  10. NASA Discovery Reveals Complex Water Systems on Early Mars(nasa.gov)
    discuss
  11. TinyJev -Tiny Jev-style decision model that runs offline(github.com/ankit-aglawe)
    discuss
  12. Are the Government's Conversations with AI Accessible Under Public Records Laws? [pdf](reason.com)
    discuss
  13. German court rules Meta liable for scam ads on Facebook and Instagram(thenextweb.com)
    3comments
  14. Priorities and principles for effective third party assessments(openai.com)
    discuss
  15. Scaling Discovery Through Test-Time Communication(arxiv.org)
    discuss
  16. Kclaw is a K8s-based IT-managed, multi-tenant AI assistant platform for teams(github.com/info-struct)
    1comments
  17. We put Jev in production against a cross-encoder. Here are the numbers(getunblocked.com)
    discuss
  18. Show HN: A facial analysis tool with scores and geometry measurements(pslscore.org)
    discuss
  19. Twinkleplop – plop some twinkle in your code (ultrafast syntax highlighting)(twinkleplop.pngwn.at)
    discuss
  20. Grok 4.7 Scores 46 on AI Intelligence Index, Puts SpaceXAI in Top 4 Labs(artificialanalysis.ai)
    discuss
  21. There's a high chance of devices being sold with GrapheneOS preinstalled in 2027(grapheneos.social)
    2comments
  22. Moving from cash to credit cards, PayPal, etc. is an ongoing privacy disaster(grapheneos.social)
    5comments
  23. In 200-Page Report, Cornell Confronts the Crisis in American Higher Education(wsj.com)
    discuss
  24. Shall We Repeal the Laws of Economics – Part III(oaktreecapital.com)
    discuss
  25. Alzheimer's Is No Longer an Untreatable Disease(sciencealert.com)
    discuss
  26. A golden opportunity: Seattle's surveillance pricing ban(thenexusofprivacy.net)
    discuss
  27. ASML Executive Says It Has No Sales in Europe(bloomberg.com)
    discuss
  28. Bugcrowd is currently fundamentally broken(leonbecker.de)
    discuss
  29. Why is social media so humourless?(baldurbjarnason.com)
    discuss
  30. Ask HN: How do your teams share and distribute agent skills?
    discuss

WordPress: Unauthenticated path traversal leading to conditional RCE

25 pointsby 58m agogithub.com
11 comments
34m agoHN ↗

pearcmd.php must exist, and register_argc_argv must be on, not common with hosting providers. But I am assuming the other themes and meeting conditions possibly affect a lot of WordPress sites.

15m agoHN ↗

As the article points out, one issue is that the official Docker container for PHP has this configuration.

However at least in principle all of the affected versions [0] could be automatically updated. Not sure if they have set it to auto-update as far back as 4.7 though.

[0] except 4.9.3 which has a bug in its automatic update mechanism.

12m agoHN ↗

pearcmd and register_argc_argv are just examples. get_page_template was unsanitized in some themes, that's the flaw, you could then combine it with one of a million unauthorized file upload in wordpress plugins to try and eval code. An attacker would like to use upload + this chain of requires (instead of just uploading a php) because of hardened configuration and the pwn can go unnoticed in the logs.

Also, with pearcmd (if you can get to that, there's no open_basedir) and containers a novice sysadmin will publish insecure sites.

29m agoHN ↗

These CVSS scores don't mean anything and it would be better for everyone if they stopped showing up in headlines. This is a somewhat situational Wordpress RCE that impacts only a couple themes.

18m agoHN ↗

This score specifically means that given some specific conditions, anyone can execute code over the network on a vulnerable WordPress setup. Is this not true?

12m agoHN ↗

I'm not saying that the vulnerability isn't severe or important to people running Wordpress, only that CVSS scores are literally a Ouija Board that can come out to whatever the user wants them to.

18m agoHN ↗

This is a somewhat situational Wordpress RCE that impacts only a couple themes. reply

That is dangerously incorrect, a whole lot of themes are vulnerable. The main pre-condition, "presence of a top-level directory named 'page-xxx' like 'page-templates' in the theme's directory" is actually an official recommendation in the WordPress documentation.

See here: https://developer.wordpress.org/themes/classic-themes/templa...

As discussed in Organizing Theme Files, WordPress can recognize page templates stored in the theme’s root folder or in a first-level subdirectory of the theme folder. *The page-templates/ folder is a common convention* for organizing global page templates, but it is not required. Page templates can also be stored in other first-level subdirectories, such as templates/ or page_templates/.

11m agoHN ↗

Not sure if it’s a couple. Devs routinely make heavily edited copies of the core themes so there will be many, many unpublished themes that use the “page-“ prefix for templates; it was (is?) a reasonably common convention.

(No particular disagreement with the rest of your comment though)

21m agoHN ↗

hmm, this may be why i just saw an unexpected update to a very old theme.

14m agoHN ↗

Ironically, this 9 years old comment on the official documentation page of one of the affected functions perfectly describes both the nature and remediation of this major security flaw:

Paul Ryan 9 years ago

Note that locate_template() does not prevent directory traversal attacks, so if you’re passing a user-provided template name to the function, be sure to verify that it’s from one of the three appropriate locations (active theme directory, parent theme directory, or /wp-includes/theme-compat/ directory).

https://developer.wordpress.org/reference/functions/locate_t...

6m agoHN ↗

Ahahah I remember to have patched themes for clients by hand, years ago. A different time, where a core team would for whatever reason leave security holes around to be sure you need three frameworks around their pile of dung code.