mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 00:29:48 +03:00
Session hijacking #1103
Closed
opened 2026-02-04 23:47:41 +03:00 by OVERLORD
·
10 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1103
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SeanIQX on GitHub (Mar 22, 2019).
Scenario:
2 users connecting from same office (Same WAN IP) to apache nginx server hosted on internet.
User1 logs in and starts using bookstack.
User2 logs in and is given the session of the other user.
(This can happen either way depending on if the other person is navigating or not.)
Steps To Reproduce
See above
Expected behavior
No session hijacking.
Your Configuration (please complete the following information):
Additional context
Troubleshooting tried:
Tried changing to secure cookies.
Changed where sessions are stored. File to Database.
Changed session cookie name.
Recreated users.
Completely cleaned out cookies on local pc's.
Also tried via VPN to rule out same IP as issue.
@ssddanbrown commented on GitHub (Mar 22, 2019):
Hi @SeanIQX,
Can you confirm if you are using the standard authentication method (Email and password) or if you're using a third-party service or LDAP?
Also, Just to 100% confirm, do the two users in your scenario have different accounts in BookStack?
@SeanIQX commented on GitHub (Mar 22, 2019):
Hi @ssddanbrown ,
Standard authentication.
And two separate accounts yes.
@ssddanbrown commented on GitHub (Mar 22, 2019):
Thanks @SeanIQX,
Not sure what this could be really, Perhaps either some very aggressive caching at you nginx or apache layer that's caching cookie values or perhaps something client-side.
Could you try to see if you're able to re-produce this on the demo site?
You should be able to create a new user to test this. Just be wary the demo instance resets every half-hour (At about 0-mins and 30-mins).
That will provide some insight into if this could be specific to your setup.
@SeanIQX commented on GitHub (Mar 25, 2019):
Hi @ssddanbrown
Tried on the demo site and that is fine, though the version is older compared to the one we have installed. It's 25.3 we are 25.4.
I think its possibly something to do with cloudflare. Going to try it without cloudflare to see if that resolves it.
@SeanIQX commented on GitHub (Mar 25, 2019):
OK @ssddanbrown its not cloudflare, have that disabled. Going to try changing the nginx caching just for testing, though this is getting in to undesirable changes area now.
@SeanIQX commented on GitHub (Mar 25, 2019):
It seems like it is NGINX. It seems to be to do with how the token is being hashed.
We are using Engintron NGINX. Gareth (who I cc'd in to the email I sent) has raised it as an issue on Engintron but if you could recommend anything we could look at to try and rectify the issue that would be great.
@ssddanbrown commented on GitHub (Mar 28, 2019):
@SeanIQX Thanks for the updates.
I'd advise just to ensure no BookStack requests themselves are being cached. Assets (Images, CSS, JS) can be cached but BookStack-served content will be fairly dynamic.
Not really familiar with engintron, Perhaps make sure their micro caching feature is disabled?
Or, if you have a choice between static or dynamic, Make sure BookStack is using a dynamic config option.
@SeanIQX commented on GitHub (Apr 2, 2019):
@ssddanbrown Got it working.
It was specific to caching in nginx. Gareth will comment and elaborate on the fix. Thanks again.
@gareth-johnstone commented on GitHub (Apr 2, 2019):
Hi,
So as stated above our setup is a Nginx server relayed to Apache - our flavour of Nginx is called Engintron.
This is all neatly packaged as a plugin on cPanel's Web interface.
As stated in the comment https://github.com/BookStackApp/BookStack/issues/1345#issuecomment-477748851 we done the following to achieve this.
So, if anyone has a similar setup, login to WHM > Plugins > Engintron - click on
Edit your custom_rules for Nginxand scroll down to the bottom and you'll see the following commented out, un-comment it and add your own URL(S)
Thanks again for your help @ssddanbrown
@ssddanbrown commented on GitHub (Apr 3, 2019):
@SeanIQX @gareth-johnstone Awesome, Happy to hear you found the issue, Thanks for sharing your findings.
Will therefore close this issue since this now appears to be sorted.