This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+9 more
Affected surfaces
ReleasePort's take
Moderate signalmacTLS v1.0 upgrades its entropy source from a weak XOR implementation to a SHA-256 HMAC‑DRBG that incorporates hardware jitter, mouse/keyboard timing, and a persisted seed file.
Why it matters: The change raises the security posture of macTLS by eliminating an insecure XOR entropy source; operators using macEntropy v1.0 should adopt this release immediately due to its severity score of 95.
Summary
AI summaryUpdates Issues closed since 1.0, Three pieces in scope, and Full notes docs/release-notes/MacSurf-1.2.md across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Replaces insecure XOR entropy source with SHA-256 HMAC-DRBG using hardware jitter, mouse/keyboard timing, and persisted seed file. Replaces insecure XOR entropy source with SHA-256 HMAC-DRBG using hardware jitter, mouse/keyboard timing, and persisted seed file. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Implements full download manager with save dialog, streaming write, MIME mapping, and error cleanup. Implements full download manager with save dialog, streaming write, MIME mapping, and error cleanup. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Medium |
Wires POST form body through both HTTP and HTTPS, fixing no‑op behavior for all forms. Wires POST form body through both HTTP and HTTPS, fixing no‑op behavior for all forms. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Medium |
Routes Content‑Disposition: attachment responses to the download manager instead of rendering as HTML. Routes Content‑Disposition: attachment responses to the download manager instead of rendering as HTML. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Low |
Fixes CSS background‑attachment fixed to anchor correctly to viewport coordinates. Fixes CSS background‑attachment fixed to anchor correctly to viewport coordinates. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Low |
Corrects `white-space: pre-line` to collapse internal whitespace runs properly. Corrects `white-space: pre-line` to collapse internal whitespace runs properly. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Low |
Resolves SVG `fill-opacity` and `stroke-opacity` rendering issues. Resolves SVG `fill-opacity` and `stroke-opacity` rendering issues. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Low |
Prevents HTTPS abort plus auto‑upgrade fallback crash on DuckDuckGo searches. Prevents HTTPS abort plus auto‑upgrade fallback crash on DuckDuckGo searches. Source: llm_adapter@2026-05-29 Confidence: high |
— |
Full changelog
Released: 2026-05-29
Verified on: Power Macintosh G3 iMac, Mac OS 9.1
Engine HEAD: fixes315
The headline
macTLS v0.x ran on a documented insecure-stub entropy source. It was the largest known security limitation in 1.0 — the rotate-XOR placeholder lifted from BearSSL's reference scaffolding, sitting in the spot where a real CSPRNG belongs. 1.2 closes that hole. macTLS v1.0 (macEntropy v1.0) replaces it with a SHA-256 accumulator feeding BearSSL's HMAC-DRBG, fed by OT packet-arrival jitter, mouse and key-press timing from the event loop, high-resolution clock samples, and a cold-start seed file persisted across boots.
This is what "production HTTPS" was supposed to mean. 1.0 was the chrome polish release; 1.2 is the security release.
Three pieces in scope
- macTLS v1.0 (macEntropy v1.0) — hardware-validated on G3 across four separate launches with the Stage E statistical self-test: distinct seed fingerprints per run (
94A7251B,52AB2050,665DF442,165814CB), the actual per-run-entropy proof. The pre-1.2 binary was using a rotating XOR seeded only fromTickCount(); every TLS handshake on that build shared a predictable seed line. Replaced. - POST forms work. Through 1.0 both fetcher API setup functions silently discarded
post_urlencat entry ((void)pu;). Every form POST became a no-op — search forms on results pages, login forms, comment submissions. 1.2 wires the body through; DDG's "search again from the results page" (the canonical #144 repro) now returns fresh results. - A working download manager. Through 1.0 clicking a download link either did nothing visible or rendered the binary as HTML. 1.2 implements all four
gui_download_tablecallbacks:NavPutFilesave dialog,FSWritestreaming, MIME-mapped Mac type/creator codes, partial-file cleanup on error, andContent-Disposition: attachmentdetection in the fetcher so Drupal-style sites (mactrove, macintoshgarden) route through download instead of render.
Issues closed since 1.0
- #41 —
background-attachment: fixedanchors to viewport in window coords (fixes309) - #56 —
white-space: pre-linecollapses internal whitespace runs (fixes307) - #36 — SVG
fill-opacity/stroke-opacity(fixes305 + 305a) - #143 —
<img>HTML width/height verified not reproducing (closed during the lead-in) - #144 — POST form body wired through both HTTP and HTTPS (fixes312)
- #149 — Content-Disposition: attachment routes to download (fixes313b)
- #150 — HTTPS abort + auto-upgrade FALLBACK crash on DDG (fixes315)
Plus the macTLS chain: macEntropy Stages A → C → B → E → v1.0 → D, tracked in the macTLS repo and tagged macentropy-v1.0.
Full notes
docs/release-notes/MacSurf-1.2.md
Building
Same as 1.0. Clone the repo, open browser/netsurf/frontends/macos9/MacSurf.mcp in CodeWarrior 8 Pro (8.3 update) on the Mac side, choose Build. One project-file note for builders pulling 1.2 onto a 1.0 workspace: desktop/download.c needs to be in MacSurf.mcp (introduced as part of fixes313, provides download_context_create and the four download_context_get_* accessors).
Security Fixes
- macTLS v1.0 (macEntropy v1.0) replaces insecure rotating‑XOR placeholder with SHA-256 HMAC‑DRBG fed by hardware jitter, mouse/keyboard timing, high‑resolution clock samples, and persisted seed file.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About MacSurf
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]